Merge branch 'develop'
diff --git a/README.md b/README.md
index d91136f..8be3f22 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
-# ERPNext - Open source ERP for small and medium-size business [![Build Status](https://travis-ci.org/frappe/erpnext.png)](https://travis-ci.org/frappe/erpnext)
+# ERPNext - ERP made simple
-[![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/frappe/erpnext?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
+[![Build Status](https://travis-ci.org/frappe/erpnext.png)](https://travis-ci.org/frappe/erpnext) [![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/frappe/erpnext?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[https://erpnext.com](https://erpnext.com)
diff --git a/erpnext/__version__.py b/erpnext/__version__.py
index 82beb8b..4c76240 100644
--- a/erpnext/__version__.py
+++ b/erpnext/__version__.py
@@ -1,2 +1,2 @@
from __future__ import unicode_literals
-__version__ = '6.1.1'
+__version__ = '6.2.0'
diff --git a/erpnext/accounts/doctype/account/account.json b/erpnext/accounts/doctype/account/account.json
index 8927036..2ab0963 100644
--- a/erpnext/accounts/doctype/account/account.json
+++ b/erpnext/accounts/doctype/account/account.json
@@ -1,515 +1,539 @@
{
- "allow_copy": 1,
- "allow_import": 1,
- "allow_rename": 1,
- "creation": "2013-01-30 12:49:46",
- "custom": 0,
- "description": "Heads (or groups) against which Accounting Entries are made and balances are maintained.",
- "docstatus": 0,
- "doctype": "DocType",
- "document_type": "Master",
+ "allow_copy": 1,
+ "allow_import": 1,
+ "allow_rename": 1,
+ "creation": "2013-01-30 12:49:46",
+ "custom": 0,
+ "description": "Heads (or groups) against which Accounting Entries are made and balances are maintained.",
+ "docstatus": 0,
+ "doctype": "DocType",
+ "document_type": "Setup",
"fields": [
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "properties",
- "fieldtype": "Section Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "",
- "no_copy": 0,
- "oldfieldtype": "Section Break",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "properties",
+ "fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "",
+ "no_copy": 0,
+ "oldfieldtype": "Section Break",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "column_break0",
- "fieldtype": "Column Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "no_copy": 0,
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "unique": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "column_break0",
+ "fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0,
"width": "50%"
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "account_name",
- "fieldtype": "Data",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 1,
- "in_list_view": 1,
- "label": "Account Name",
- "no_copy": 1,
- "oldfieldname": "account_name",
- "oldfieldtype": "Data",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 1,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "account_name",
+ "fieldtype": "Data",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 1,
+ "in_list_view": 1,
+ "label": "Account Name",
+ "no_copy": 1,
+ "oldfieldname": "account_name",
+ "oldfieldtype": "Data",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 1,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "default": "0",
- "fieldname": "is_group",
- "fieldtype": "Check",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Is Group",
- "no_copy": 0,
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "default": "0",
+ "fieldname": "is_group",
+ "fieldtype": "Check",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Is Group",
+ "no_copy": 0,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "company",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 1,
- "in_list_view": 0,
- "label": "Company",
- "no_copy": 0,
- "oldfieldname": "company",
- "oldfieldtype": "Link",
- "options": "Company",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 1,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "company",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 1,
+ "in_list_view": 0,
+ "label": "Company",
+ "no_copy": 0,
+ "oldfieldname": "company",
+ "oldfieldtype": "Link",
+ "options": "Company",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 1,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "root_type",
- "fieldtype": "Select",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Root Type",
- "no_copy": 0,
- "options": "\nAsset\nLiability\nIncome\nExpense\nEquity",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "root_type",
+ "fieldtype": "Select",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Root Type",
+ "no_copy": 0,
+ "options": "\nAsset\nLiability\nIncome\nExpense\nEquity",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "report_type",
- "fieldtype": "Select",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Report Type",
- "no_copy": 0,
- "options": "\nBalance Sheet\nProfit and Loss",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "report_type",
+ "fieldtype": "Select",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Report Type",
+ "no_copy": 0,
+ "options": "\nBalance Sheet\nProfit and Loss",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "column_break1",
- "fieldtype": "Column Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "no_copy": 0,
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "unique": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "depends_on": "eval:doc.is_group==0",
+ "fieldname": "account_currency",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Currency",
+ "no_copy": 0,
+ "options": "Currency",
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "column_break1",
+ "fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0,
"width": "50%"
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "parent_account",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 1,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Parent Account",
- "no_copy": 0,
- "oldfieldname": "parent_account",
- "oldfieldtype": "Link",
- "options": "Account",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 1,
- "search_index": 1,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "parent_account",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 1,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Parent Account",
+ "no_copy": 0,
+ "oldfieldname": "parent_account",
+ "oldfieldtype": "Link",
+ "options": "Account",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 1,
+ "search_index": 1,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "description": "Setting Account Type helps in selecting this Account in transactions.",
- "fieldname": "account_type",
- "fieldtype": "Select",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 1,
- "in_list_view": 0,
- "label": "Account Type",
- "no_copy": 0,
- "oldfieldname": "account_type",
- "oldfieldtype": "Select",
- "options": "\nBank\nCash\nTax\nChargeable\nWarehouse\nReceivable\nPayable\nEquity\nFixed Asset\nCost of Goods Sold\nExpense Account\nRound Off\nIncome Account\nStock Received But Not Billed\nExpenses Included In Valuation\nStock Adjustment\nStock\nTemporary",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "description": "Setting Account Type helps in selecting this Account in transactions.",
+ "fieldname": "account_type",
+ "fieldtype": "Select",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 1,
+ "in_list_view": 0,
+ "label": "Account Type",
+ "no_copy": 0,
+ "oldfieldname": "account_type",
+ "oldfieldtype": "Select",
+ "options": "\nBank\nCash\nTax\nChargeable\nWarehouse\nReceivable\nPayable\nEquity\nFixed Asset\nCost of Goods Sold\nExpense Account\nRound Off\nIncome Account\nStock Received But Not Billed\nExpenses Included In Valuation\nStock Adjustment\nStock\nTemporary",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "description": "Rate at which this tax is applied",
- "fieldname": "tax_rate",
- "fieldtype": "Float",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Rate",
- "no_copy": 0,
- "oldfieldname": "tax_rate",
- "oldfieldtype": "Currency",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "description": "Rate at which this tax is applied",
+ "fieldname": "tax_rate",
+ "fieldtype": "Float",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Rate",
+ "no_copy": 0,
+ "oldfieldname": "tax_rate",
+ "oldfieldtype": "Currency",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "description": "If the account is frozen, entries are allowed to restricted users.",
- "fieldname": "freeze_account",
- "fieldtype": "Select",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Frozen",
- "no_copy": 0,
- "oldfieldname": "freeze_account",
- "oldfieldtype": "Select",
- "options": "No\nYes",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "description": "If the account is frozen, entries are allowed to restricted users.",
+ "fieldname": "freeze_account",
+ "fieldtype": "Select",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Frozen",
+ "no_copy": 0,
+ "oldfieldname": "freeze_account",
+ "oldfieldtype": "Select",
+ "options": "No\nYes",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "warehouse",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Warehouse",
- "no_copy": 0,
- "options": "Warehouse",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "warehouse",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Warehouse",
+ "no_copy": 0,
+ "options": "Warehouse",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "balance_must_be",
- "fieldtype": "Select",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Balance must be",
- "no_copy": 0,
- "options": "\nDebit\nCredit",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "balance_must_be",
+ "fieldtype": "Select",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Balance must be",
+ "no_copy": 0,
+ "options": "\nDebit\nCredit",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "lft",
- "fieldtype": "Int",
- "hidden": 1,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Lft",
- "no_copy": 0,
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 1,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "lft",
+ "fieldtype": "Int",
+ "hidden": 1,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Lft",
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 1,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "rgt",
- "fieldtype": "Int",
- "hidden": 1,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Rgt",
- "no_copy": 0,
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 1,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "rgt",
+ "fieldtype": "Int",
+ "hidden": 1,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Rgt",
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 1,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "old_parent",
- "fieldtype": "Data",
- "hidden": 1,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Old Parent",
- "no_copy": 0,
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "old_parent",
+ "fieldtype": "Data",
+ "hidden": 1,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Old Parent",
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
}
- ],
- "hide_heading": 0,
- "hide_toolbar": 0,
- "icon": "icon-money",
- "idx": 1,
- "in_create": 0,
- "in_dialog": 0,
- "is_submittable": 0,
- "issingle": 0,
- "istable": 0,
- "modified": "2015-09-07 15:51:26",
- "modified_by": "Administrator",
- "module": "Accounts",
- "name": "Account",
- "owner": "Administrator",
+ ],
+ "hide_heading": 0,
+ "hide_toolbar": 0,
+ "icon": "icon-money",
+ "idx": 1,
+ "in_create": 0,
+ "in_dialog": 0,
+ "is_submittable": 0,
+ "issingle": 0,
+ "istable": 0,
+ "modified": "2015-09-11 15:51:26",
+ "modified_by": "Administrator",
+ "module": "Accounts",
+ "name": "Account",
+ "owner": "Administrator",
"permissions": [
{
- "amend": 0,
- "apply_user_permissions": 0,
- "cancel": 0,
- "create": 1,
- "delete": 1,
- "email": 1,
- "export": 1,
- "if_owner": 0,
- "import": 1,
- "permlevel": 0,
- "print": 1,
- "read": 1,
- "report": 1,
- "role": "Accounts User",
- "set_user_permissions": 0,
- "share": 1,
- "submit": 0,
+ "amend": 0,
+ "apply_user_permissions": 0,
+ "cancel": 0,
+ "create": 1,
+ "delete": 1,
+ "email": 1,
+ "export": 1,
+ "if_owner": 0,
+ "import": 1,
+ "permlevel": 0,
+ "print": 1,
+ "read": 1,
+ "report": 1,
+ "role": "Accounts User",
+ "set_user_permissions": 0,
+ "share": 1,
+ "submit": 0,
"write": 1
- },
+ },
{
- "amend": 0,
- "apply_user_permissions": 0,
- "cancel": 0,
- "create": 0,
- "delete": 0,
- "email": 1,
- "export": 0,
- "if_owner": 0,
- "import": 0,
- "permlevel": 0,
- "print": 1,
- "read": 1,
- "report": 1,
- "role": "Auditor",
- "set_user_permissions": 0,
- "share": 0,
- "submit": 0,
+ "amend": 0,
+ "apply_user_permissions": 0,
+ "cancel": 0,
+ "create": 0,
+ "delete": 0,
+ "email": 1,
+ "export": 0,
+ "if_owner": 0,
+ "import": 0,
+ "permlevel": 0,
+ "print": 1,
+ "read": 1,
+ "report": 1,
+ "role": "Auditor",
+ "set_user_permissions": 0,
+ "share": 0,
+ "submit": 0,
"write": 0
- },
+ },
{
- "amend": 0,
- "apply_user_permissions": 0,
- "cancel": 0,
- "create": 0,
- "delete": 0,
- "email": 1,
- "export": 0,
- "if_owner": 0,
- "import": 0,
- "permlevel": 0,
- "print": 1,
- "read": 1,
- "report": 1,
- "role": "Sales User",
- "set_user_permissions": 0,
- "share": 0,
- "submit": 0,
+ "amend": 0,
+ "apply_user_permissions": 0,
+ "cancel": 0,
+ "create": 0,
+ "delete": 0,
+ "email": 1,
+ "export": 0,
+ "if_owner": 0,
+ "import": 0,
+ "permlevel": 0,
+ "print": 1,
+ "read": 1,
+ "report": 1,
+ "role": "Sales User",
+ "set_user_permissions": 0,
+ "share": 0,
+ "submit": 0,
"write": 0
- },
+ },
{
- "amend": 0,
- "apply_user_permissions": 0,
- "cancel": 0,
- "create": 0,
- "delete": 0,
- "email": 1,
- "export": 0,
- "if_owner": 0,
- "import": 0,
- "permlevel": 0,
- "print": 1,
- "read": 1,
- "report": 1,
- "role": "Purchase User",
- "set_user_permissions": 0,
- "share": 0,
- "submit": 0,
+ "amend": 0,
+ "apply_user_permissions": 0,
+ "cancel": 0,
+ "create": 0,
+ "delete": 0,
+ "email": 1,
+ "export": 0,
+ "if_owner": 0,
+ "import": 0,
+ "permlevel": 0,
+ "print": 1,
+ "read": 1,
+ "report": 1,
+ "role": "Purchase User",
+ "set_user_permissions": 0,
+ "share": 0,
+ "submit": 0,
"write": 0
- },
+ },
{
- "amend": 0,
- "apply_user_permissions": 0,
- "cancel": 0,
- "create": 1,
- "delete": 1,
- "email": 1,
- "export": 1,
- "if_owner": 0,
- "import": 1,
- "permlevel": 0,
- "print": 1,
- "read": 1,
- "report": 1,
- "role": "Accounts Manager",
- "set_user_permissions": 1,
- "share": 1,
- "submit": 0,
+ "amend": 0,
+ "apply_user_permissions": 0,
+ "cancel": 0,
+ "create": 1,
+ "delete": 1,
+ "email": 1,
+ "export": 1,
+ "if_owner": 0,
+ "import": 1,
+ "permlevel": 0,
+ "print": 1,
+ "read": 1,
+ "report": 1,
+ "role": "Accounts Manager",
+ "set_user_permissions": 1,
+ "share": 1,
+ "submit": 0,
"write": 1
}
- ],
- "read_only": 0,
- "read_only_onload": 0,
+ ],
+ "read_only": 0,
+ "read_only_onload": 0,
"search_fields": ""
-}
\ No newline at end of file
+}
diff --git a/erpnext/accounts/doctype/account/account.py b/erpnext/accounts/doctype/account/account.py
index 46f7520..079bc36 100644
--- a/erpnext/accounts/doctype/account/account.py
+++ b/erpnext/accounts/doctype/account/account.py
@@ -7,6 +7,8 @@
from frappe import throw, _
from frappe.model.document import Document
+class RootNotEditable(frappe.ValidationError): pass
+
class Account(Document):
nsm_parent_field = 'parent_account'
@@ -28,6 +30,7 @@
self.validate_warehouse_account()
self.validate_frozen_accounts_modifier()
self.validate_balance_must_be_debit_or_credit()
+ self.validate_account_currency()
def validate_parent(self):
"""Fetch Parent Details and validate parent account"""
@@ -67,7 +70,7 @@
# does not exists parent
if frappe.db.exists("Account", self.name):
if not frappe.db.get_value("Account", self.name, "parent_account"):
- throw(_("Root cannot be edited."))
+ throw(_("Root cannot be edited."), RootNotEditable)
def validate_frozen_accounts_modifier(self):
old_value = frappe.db.get_value("Account", self.name, "freeze_account")
@@ -86,6 +89,14 @@
frappe.throw(_("Account balance already in Debit, you are not allowed to set 'Balance Must Be' as 'Credit'"))
elif account_balance < 0 and self.balance_must_be == "Debit":
frappe.throw(_("Account balance already in Credit, you are not allowed to set 'Balance Must Be' as 'Debit'"))
+
+ def validate_account_currency(self):
+ if not self.account_currency:
+ self.account_currency = frappe.db.get_value("Company", self.company, "default_currency")
+
+ elif self.account_currency != frappe.db.get_value("Account", self.name, "account_currency"):
+ if frappe.db.get_value("GL Entry", {"account": self.name}):
+ frappe.throw(_("Currency can not be changed after making entries using some other currency"))
def convert_group_to_ledger(self):
if self.check_if_child_exists():
diff --git a/erpnext/accounts/doctype/account/chart_of_accounts/chart_of_accounts.py b/erpnext/accounts/doctype/account/chart_of_accounts/chart_of_accounts.py
index ce3a7fd..bfb5240 100644
--- a/erpnext/accounts/doctype/account/chart_of_accounts/chart_of_accounts.py
+++ b/erpnext/accounts/doctype/account/chart_of_accounts/chart_of_accounts.py
@@ -36,7 +36,8 @@
"is_group": is_group,
"root_type": root_type,
"report_type": report_type,
- "account_type": child.get("account_type")
+ "account_type": child.get("account_type"),
+ "account_currency": frappe.db.get_value("Company", company, "default_currency")
})
if root_account:
diff --git a/erpnext/accounts/doctype/account/test_account.py b/erpnext/accounts/doctype/account/test_account.py
index 2a3feda..83516da 100644
--- a/erpnext/accounts/doctype/account/test_account.py
+++ b/erpnext/accounts/doctype/account/test_account.py
@@ -9,36 +9,39 @@
accounts = [
# [account_name, parent_account, is_group]
- ["_Test Account Bank Account", "Bank Accounts", 0, "Bank"],
+ ["_Test Bank", "Bank Accounts", 0, "Bank", None],
+ ["_Test Bank USD", "Bank Accounts", 0, "Bank", "USD"],
+ ["_Test Bank EUR", "Bank Accounts", 0, "Bank", "EUR"],
- ["_Test Account Stock Expenses", "Direct Expenses", 1, None],
- ["_Test Account Shipping Charges", "_Test Account Stock Expenses", 0, "Chargeable"],
- ["_Test Account Customs Duty", "_Test Account Stock Expenses", 0, "Tax"],
- ["_Test Account Insurance Charges", "_Test Account Stock Expenses", 0, "Chargeable"],
- ["_Test Account Stock Adjustment", "_Test Account Stock Expenses", 0, "Stock Adjustment"],
+ ["_Test Account Stock Expenses", "Direct Expenses", 1, None, None],
+ ["_Test Account Shipping Charges", "_Test Account Stock Expenses", 0, "Chargeable", None],
+ ["_Test Account Customs Duty", "_Test Account Stock Expenses", 0, "Tax", None],
+ ["_Test Account Insurance Charges", "_Test Account Stock Expenses", 0, "Chargeable", None],
+ ["_Test Account Stock Adjustment", "_Test Account Stock Expenses", 0, "Stock Adjustment", None],
+ ["_Test Account Tax Assets", "Current Assets", 1, None, None],
+ ["_Test Account VAT", "_Test Account Tax Assets", 0, "Tax", None],
+ ["_Test Account Service Tax", "_Test Account Tax Assets", 0, "Tax", None],
- ["_Test Account Tax Assets", "Current Assets", 1, None],
- ["_Test Account VAT", "_Test Account Tax Assets", 0, "Tax"],
- ["_Test Account Service Tax", "_Test Account Tax Assets", 0, "Tax"],
+ ["_Test Account Reserves and Surplus", "Current Liabilities", 0, None, None],
- ["_Test Account Reserves and Surplus", "Current Liabilities", 0, None],
-
- ["_Test Account Cost for Goods Sold", "Expenses", 0, None],
- ["_Test Account Excise Duty", "_Test Account Tax Assets", 0, "Tax"],
- ["_Test Account Education Cess", "_Test Account Tax Assets", 0, "Tax"],
- ["_Test Account S&H Education Cess", "_Test Account Tax Assets", 0, "Tax"],
- ["_Test Account CST", "Direct Expenses", 0, "Tax"],
- ["_Test Account Discount", "Direct Expenses", 0, None],
- ["_Test Write Off", "Indirect Expenses", 0, None],
+ ["_Test Account Cost for Goods Sold", "Expenses", 0, None, None],
+ ["_Test Account Excise Duty", "_Test Account Tax Assets", 0, "Tax", None],
+ ["_Test Account Education Cess", "_Test Account Tax Assets", 0, "Tax", None],
+ ["_Test Account S&H Education Cess", "_Test Account Tax Assets", 0, "Tax", None],
+ ["_Test Account CST", "Direct Expenses", 0, "Tax", None],
+ ["_Test Account Discount", "Direct Expenses", 0, None, None],
+ ["_Test Write Off", "Indirect Expenses", 0, None, None],
# related to Account Inventory Integration
- ["_Test Account Stock In Hand", "Current Assets", 0, None],
- ["_Test Account Fixed Assets", "Current Assets", 0, None],
+ ["_Test Account Stock In Hand", "Current Assets", 0, None, None],
+ ["_Test Account Fixed Assets", "Current Assets", 0, None, None],
# Receivable / Payable Account
- ["_Test Receivable", "Current Assets", 0, "Receivable"],
- ["_Test Payable", "Current Liabilities", 0, "Payable"],
+ ["_Test Receivable", "Current Assets", 0, "Receivable", None],
+ ["_Test Payable", "Current Liabilities", 0, "Payable", None],
+ ["_Test Receivable USD", "Current Assets", 0, "Receivable", "USD"],
+ ["_Test Payable USD", "Current Liabilities", 0, "Payable", "USD"]
]
for company, abbr in [["_Test Company", "_TC"], ["_Test Company 1", "_TC1"]]:
@@ -48,7 +51,8 @@
"parent_account": parent_account + " - " + abbr,
"company": company,
"is_group": is_group,
- "account_type": account_type
- } for account_name, parent_account, is_group, account_type in accounts])
+ "account_type": account_type,
+ "account_currency": currency
+ } for account_name, parent_account, is_group, account_type, currency in accounts])
return test_objects
diff --git a/erpnext/accounts/doctype/accounts_settings/accounts_settings.py b/erpnext/accounts/doctype/accounts_settings/accounts_settings.py
index 9fc9854..5f569a8 100644
--- a/erpnext/accounts/doctype/accounts_settings/accounts_settings.py
+++ b/erpnext/accounts/doctype/accounts_settings/accounts_settings.py
@@ -16,7 +16,9 @@
if cint(self.auto_accounting_for_stock):
# set default perpetual account in company
for company in frappe.db.sql("select name from tabCompany"):
- frappe.get_doc("Company", company[0]).save()
+ company = frappe.get_doc("Company", company[0])
+ company.flags.ignore_permissions = True
+ company.save()
# Create account head for warehouses
warehouse_list = frappe.db.sql("select name, company from tabWarehouse", as_dict=1)
@@ -25,4 +27,5 @@
frappe.throw(_("Company is missing in warehouses {0}").format(comma_and(warehouse_with_no_company)))
for wh in warehouse_list:
wh_doc = frappe.get_doc("Warehouse", wh.name)
+ wh_doc.flags.ignore_permissions = True
wh_doc.save()
diff --git a/erpnext/accounts/doctype/cost_center/cost_center.json b/erpnext/accounts/doctype/cost_center/cost_center.json
index d1bd217..710930a 100644
--- a/erpnext/accounts/doctype/cost_center/cost_center.json
+++ b/erpnext/accounts/doctype/cost_center/cost_center.json
@@ -8,7 +8,7 @@
"description": "Track separate Income and Expense for product verticals or divisions.",
"docstatus": 0,
"doctype": "DocType",
- "document_type": "Master",
+ "document_type": "Setup",
"fields": [
{
"allow_on_submit": 0,
@@ -298,7 +298,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
- "modified": "2015-09-07 15:51:26",
+ "modified": "2015-09-14 02:55:55.020690",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Cost Center",
diff --git a/erpnext/accounts/doctype/fiscal_year/fiscal_year.json b/erpnext/accounts/doctype/fiscal_year/fiscal_year.json
index a649693..0ba7536 100644
--- a/erpnext/accounts/doctype/fiscal_year/fiscal_year.json
+++ b/erpnext/accounts/doctype/fiscal_year/fiscal_year.json
@@ -8,7 +8,7 @@
"description": "**Fiscal Year** represents a Financial Year. All accounting entries and other major transactions are tracked against **Fiscal Year**.",
"docstatus": 0,
"doctype": "DocType",
- "document_type": "Master",
+ "document_type": "Setup",
"fields": [
{
"allow_on_submit": 0,
@@ -133,7 +133,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
- "modified": "2015-09-07 15:51:26",
+ "modified": "2015-09-14 02:55:56.280252",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Fiscal Year",
diff --git a/erpnext/accounts/doctype/fiscal_year_company/fiscal_year_company.json b/erpnext/accounts/doctype/fiscal_year_company/fiscal_year_company.json
index cbebc32..11d0226 100644
--- a/erpnext/accounts/doctype/fiscal_year_company/fiscal_year_company.json
+++ b/erpnext/accounts/doctype/fiscal_year_company/fiscal_year_company.json
@@ -6,7 +6,7 @@
"custom": 0,
"docstatus": 0,
"doctype": "DocType",
- "document_type": "Master",
+ "document_type": "Setup",
"fields": [
{
"allow_on_submit": 0,
@@ -39,7 +39,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 1,
- "modified": "2014-10-02 13:35:44.155278",
+ "modified": "2015-09-14 02:55:56.368682",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Fiscal Year Company",
diff --git a/erpnext/accounts/doctype/gl_entry/gl_entry.json b/erpnext/accounts/doctype/gl_entry/gl_entry.json
index 521e3ba..b4ec8be 100644
--- a/erpnext/accounts/doctype/gl_entry/gl_entry.json
+++ b/erpnext/accounts/doctype/gl_entry/gl_entry.json
@@ -1,517 +1,586 @@
{
- "allow_copy": 0,
- "allow_import": 0,
- "allow_rename": 0,
- "autoname": "GL.#######",
- "creation": "2013-01-10 16:34:06",
- "custom": 0,
- "docstatus": 0,
- "doctype": "DocType",
+ "allow_copy": 0,
+ "allow_import": 0,
+ "allow_rename": 0,
+ "autoname": "GL.#######",
+ "creation": "2013-01-10 16:34:06",
+ "custom": 0,
+ "docstatus": 0,
+ "doctype": "DocType",
"fields": [
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "posting_date",
- "fieldtype": "Date",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 1,
- "in_list_view": 1,
- "label": "Posting Date",
- "no_copy": 0,
- "oldfieldname": "posting_date",
- "oldfieldtype": "Date",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 1,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "posting_date",
+ "fieldtype": "Date",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 1,
+ "in_list_view": 1,
+ "label": "Posting Date",
+ "no_copy": 0,
+ "oldfieldname": "posting_date",
+ "oldfieldtype": "Date",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 1,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "transaction_date",
- "fieldtype": "Date",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 1,
- "label": "Transaction Date",
- "no_copy": 0,
- "oldfieldname": "transaction_date",
- "oldfieldtype": "Date",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "transaction_date",
+ "fieldtype": "Date",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 1,
+ "label": "Transaction Date",
+ "no_copy": 0,
+ "oldfieldname": "transaction_date",
+ "oldfieldtype": "Date",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "account",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 1,
- "in_list_view": 1,
- "label": "Account",
- "no_copy": 0,
- "oldfieldname": "account",
- "oldfieldtype": "Link",
- "options": "Account",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 1,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "account",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 1,
+ "in_list_view": 1,
+ "label": "Account",
+ "no_copy": 0,
+ "oldfieldname": "account",
+ "oldfieldtype": "Link",
+ "options": "Account",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 1,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "party_type",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Party Type",
- "no_copy": 0,
- "options": "DocType",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "party_type",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Party Type",
+ "no_copy": 0,
+ "options": "DocType",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "party",
- "fieldtype": "Dynamic Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Party",
- "no_copy": 0,
- "options": "party_type",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 1,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "party",
+ "fieldtype": "Dynamic Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Party",
+ "no_copy": 0,
+ "options": "party_type",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 1,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "cost_center",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 1,
- "in_list_view": 1,
- "label": "Cost Center",
- "no_copy": 0,
- "oldfieldname": "cost_center",
- "oldfieldtype": "Link",
- "options": "Cost Center",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "cost_center",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 1,
+ "in_list_view": 1,
+ "label": "Cost Center",
+ "no_copy": 0,
+ "oldfieldname": "cost_center",
+ "oldfieldtype": "Link",
+ "options": "Cost Center",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "debit",
- "fieldtype": "Currency",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Debit Amt",
- "no_copy": 0,
- "oldfieldname": "debit",
- "oldfieldtype": "Currency",
- "options": "Company:company:default_currency",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "debit",
+ "fieldtype": "Currency",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Debit Amount",
+ "no_copy": 0,
+ "oldfieldname": "debit",
+ "oldfieldtype": "Currency",
+ "options": "Company:company:default_currency",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "credit",
- "fieldtype": "Currency",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Credit Amt",
- "no_copy": 0,
- "oldfieldname": "credit",
- "oldfieldtype": "Currency",
- "options": "Company:company:default_currency",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "credit",
+ "fieldtype": "Currency",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Credit Amount",
+ "no_copy": 0,
+ "oldfieldname": "credit",
+ "oldfieldtype": "Currency",
+ "options": "Company:company:default_currency",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "against",
- "fieldtype": "Text",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 1,
- "in_list_view": 0,
- "label": "Against",
- "no_copy": 0,
- "oldfieldname": "against",
- "oldfieldtype": "Text",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "account_currency",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Account Currency",
+ "no_copy": 0,
+ "options": "Currency",
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "against_voucher_type",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Against Voucher Type",
- "no_copy": 0,
- "oldfieldname": "against_voucher_type",
- "oldfieldtype": "Data",
- "options": "DocType",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "debit_in_account_currency",
+ "fieldtype": "Currency",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Debit Amount in Account Currency",
+ "no_copy": 0,
+ "options": "currency",
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "against_voucher",
- "fieldtype": "Dynamic Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 1,
- "in_list_view": 0,
- "label": "Against Voucher",
- "no_copy": 0,
- "oldfieldname": "against_voucher",
- "oldfieldtype": "Data",
- "options": "against_voucher_type",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "credit_in_account_currency",
+ "fieldtype": "Currency",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Credit Amount in Account Currency",
+ "no_copy": 0,
+ "options": "currency",
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "voucher_type",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 1,
- "in_list_view": 0,
- "label": "Voucher Type",
- "no_copy": 0,
- "oldfieldname": "voucher_type",
- "oldfieldtype": "Select",
- "options": "DocType",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "against",
+ "fieldtype": "Text",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 1,
+ "in_list_view": 0,
+ "label": "Against",
+ "no_copy": 0,
+ "oldfieldname": "against",
+ "oldfieldtype": "Text",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "voucher_no",
- "fieldtype": "Dynamic Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 1,
- "in_list_view": 0,
- "label": "Voucher No",
- "no_copy": 0,
- "oldfieldname": "voucher_no",
- "oldfieldtype": "Data",
- "options": "voucher_type",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 1,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "against_voucher_type",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Against Voucher Type",
+ "no_copy": 0,
+ "oldfieldname": "against_voucher_type",
+ "oldfieldtype": "Data",
+ "options": "DocType",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "remarks",
- "fieldtype": "Text",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 1,
- "in_list_view": 0,
- "label": "Remarks",
- "no_copy": 1,
- "oldfieldname": "remarks",
- "oldfieldtype": "Text",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "against_voucher",
+ "fieldtype": "Dynamic Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 1,
+ "in_list_view": 0,
+ "label": "Against Voucher",
+ "no_copy": 0,
+ "oldfieldname": "against_voucher",
+ "oldfieldtype": "Data",
+ "options": "against_voucher_type",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "is_opening",
- "fieldtype": "Select",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 1,
- "in_list_view": 0,
- "label": "Is Opening",
- "no_copy": 0,
- "oldfieldname": "is_opening",
- "oldfieldtype": "Select",
- "options": "No\nYes",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "voucher_type",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 1,
+ "in_list_view": 0,
+ "label": "Voucher Type",
+ "no_copy": 0,
+ "oldfieldname": "voucher_type",
+ "oldfieldtype": "Select",
+ "options": "DocType",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "is_advance",
- "fieldtype": "Select",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Is Advance",
- "no_copy": 0,
- "oldfieldname": "is_advance",
- "oldfieldtype": "Select",
- "options": "No\nYes",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "voucher_no",
+ "fieldtype": "Dynamic Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 1,
+ "in_list_view": 0,
+ "label": "Voucher No",
+ "no_copy": 0,
+ "oldfieldname": "voucher_no",
+ "oldfieldtype": "Data",
+ "options": "voucher_type",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 1,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "fiscal_year",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 1,
- "in_list_view": 0,
- "label": "Fiscal Year",
- "no_copy": 0,
- "oldfieldname": "fiscal_year",
- "oldfieldtype": "Select",
- "options": "Fiscal Year",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "remarks",
+ "fieldtype": "Text",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 1,
+ "in_list_view": 0,
+ "label": "Remarks",
+ "no_copy": 1,
+ "oldfieldname": "remarks",
+ "oldfieldtype": "Text",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "company",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 1,
- "in_list_view": 0,
- "label": "Company",
- "no_copy": 0,
- "oldfieldname": "company",
- "oldfieldtype": "Link",
- "options": "Company",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "is_opening",
+ "fieldtype": "Select",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 1,
+ "in_list_view": 0,
+ "label": "Is Opening",
+ "no_copy": 0,
+ "oldfieldname": "is_opening",
+ "oldfieldtype": "Select",
+ "options": "No\nYes",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "is_advance",
+ "fieldtype": "Select",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Is Advance",
+ "no_copy": 0,
+ "oldfieldname": "is_advance",
+ "oldfieldtype": "Select",
+ "options": "No\nYes",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "fiscal_year",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 1,
+ "in_list_view": 0,
+ "label": "Fiscal Year",
+ "no_copy": 0,
+ "oldfieldname": "fiscal_year",
+ "oldfieldtype": "Select",
+ "options": "Fiscal Year",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "company",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 1,
+ "in_list_view": 0,
+ "label": "Company",
+ "no_copy": 0,
+ "oldfieldname": "company",
+ "oldfieldtype": "Link",
+ "options": "Company",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
}
- ],
- "hide_heading": 0,
- "hide_toolbar": 0,
- "icon": "icon-list",
- "idx": 1,
- "in_create": 1,
- "in_dialog": 0,
- "is_submittable": 0,
- "issingle": 0,
- "istable": 0,
- "modified": "2015-09-07 15:51:26",
- "modified_by": "Administrator",
- "module": "Accounts",
- "name": "GL Entry",
- "owner": "Administrator",
+ ],
+ "hide_heading": 0,
+ "hide_toolbar": 0,
+ "icon": "icon-list",
+ "idx": 1,
+ "in_create": 1,
+ "in_dialog": 0,
+ "is_submittable": 0,
+ "issingle": 0,
+ "istable": 0,
+ "modified": "2015-09-11 15:51:26",
+ "modified_by": "Administrator",
+ "module": "Accounts",
+ "name": "GL Entry",
+ "owner": "Administrator",
"permissions": [
{
- "amend": 0,
- "apply_user_permissions": 0,
- "cancel": 0,
- "create": 0,
- "delete": 0,
- "email": 1,
- "export": 1,
- "if_owner": 0,
- "import": 0,
- "permlevel": 0,
- "print": 1,
- "read": 1,
- "report": 1,
- "role": "Accounts User",
- "set_user_permissions": 0,
- "share": 0,
- "submit": 0,
+ "amend": 0,
+ "apply_user_permissions": 0,
+ "cancel": 0,
+ "create": 0,
+ "delete": 0,
+ "email": 1,
+ "export": 1,
+ "if_owner": 0,
+ "import": 0,
+ "permlevel": 0,
+ "print": 1,
+ "read": 1,
+ "report": 1,
+ "role": "Accounts User",
+ "set_user_permissions": 0,
+ "share": 0,
+ "submit": 0,
"write": 0
- },
+ },
{
- "amend": 0,
- "apply_user_permissions": 0,
- "cancel": 0,
- "create": 0,
- "delete": 0,
- "email": 1,
- "export": 1,
- "if_owner": 0,
- "import": 0,
- "permlevel": 0,
- "print": 1,
- "read": 1,
- "report": 1,
- "role": "Accounts Manager",
- "set_user_permissions": 0,
- "share": 0,
- "submit": 0,
+ "amend": 0,
+ "apply_user_permissions": 0,
+ "cancel": 0,
+ "create": 0,
+ "delete": 0,
+ "email": 1,
+ "export": 1,
+ "if_owner": 0,
+ "import": 0,
+ "permlevel": 0,
+ "print": 1,
+ "read": 1,
+ "report": 1,
+ "role": "Accounts Manager",
+ "set_user_permissions": 0,
+ "share": 0,
+ "submit": 0,
"write": 0
- },
+ },
{
- "amend": 0,
- "apply_user_permissions": 0,
- "cancel": 0,
- "create": 0,
- "delete": 0,
- "email": 0,
- "export": 1,
- "if_owner": 0,
- "import": 0,
- "permlevel": 0,
- "print": 0,
- "read": 1,
- "report": 1,
- "role": "Auditor",
- "set_user_permissions": 0,
- "share": 0,
- "submit": 0,
+ "amend": 0,
+ "apply_user_permissions": 0,
+ "cancel": 0,
+ "create": 0,
+ "delete": 0,
+ "email": 0,
+ "export": 1,
+ "if_owner": 0,
+ "import": 0,
+ "permlevel": 0,
+ "print": 0,
+ "read": 1,
+ "report": 1,
+ "role": "Auditor",
+ "set_user_permissions": 0,
+ "share": 0,
+ "submit": 0,
"write": 0
}
- ],
- "read_only": 0,
- "read_only_onload": 0,
- "search_fields": "voucher_no,account,posting_date,against_voucher",
- "sort_field": "modified",
+ ],
+ "read_only": 0,
+ "read_only_onload": 0,
+ "search_fields": "voucher_no,account,posting_date,against_voucher",
+ "sort_field": "modified",
"sort_order": "DESC"
-}
\ No newline at end of file
+}
diff --git a/erpnext/accounts/doctype/gl_entry/gl_entry.py b/erpnext/accounts/doctype/gl_entry/gl_entry.py
index c459628..dbaf590 100644
--- a/erpnext/accounts/doctype/gl_entry/gl_entry.py
+++ b/erpnext/accounts/doctype/gl_entry/gl_entry.py
@@ -10,6 +10,8 @@
from frappe.model.document import Document
class CustomerFrozen(frappe.ValidationError): pass
+class InvalidCurrency(frappe.ValidationError): pass
+class InvalidAccountCurrency(frappe.ValidationError): pass
class GLEntry(Document):
def validate(self):
@@ -20,6 +22,7 @@
self.check_pl_account()
self.validate_cost_center()
self.validate_party()
+ self.validate_currency()
def on_update_with_args(self, adv_adj, update_outstanding = 'Yes'):
self.validate_account_details(adv_adj)
@@ -98,6 +101,25 @@
if not frozen_accounts_modifier in frappe.get_roles():
if frappe.db.get_value(self.party_type, self.party, "is_frozen"):
frappe.throw("{0} {1} is frozen".format(self.party_type, self.party), CustomerFrozen)
+
+ def validate_currency(self):
+ company_currency = frappe.db.get_value("Company", self.company, "default_currency")
+ account_currency = frappe.db.get_value("Account", self.account, "account_currency") or company_currency
+
+ if not self.account_currency:
+ self.account_currency = company_currency
+ if account_currency != self.account_currency:
+ frappe.throw(_("Accounting Entry for {0} can only be made in currency: {1}")
+ .format(self.account, (account_currency or company_currency)), InvalidAccountCurrency)
+
+
+ if self.party_type and self.party:
+ party_account_currency = frappe.db.get_value(self.party_type, self.party, "party_account_currency") \
+ or company_currency
+
+ if party_account_currency != self.account_currency:
+ frappe.throw(_("Accounting Entry for {0}: {1} can only be made in currency: {2}")
+ .format(self.party_type, self.party, party_account_currency), InvalidAccountCurrency)
def validate_balance_type(account, adv_adj=False):
if not adv_adj and account:
@@ -131,17 +153,18 @@
party_condition = ""
# get final outstanding amt
- bal = flt(frappe.db.sql("""select sum(ifnull(debit, 0)) - sum(ifnull(credit, 0))
+ bal = flt(frappe.db.sql("""
+ select sum(ifnull(debit_in_account_currency, 0)) - sum(ifnull(credit_in_account_currency, 0))
from `tabGL Entry`
where against_voucher_type=%s and against_voucher=%s
and account = %s {0}""".format(party_condition),
(against_voucher_type, against_voucher, account))[0][0] or 0.0)
-
+
if against_voucher_type == 'Purchase Invoice':
bal = -bal
elif against_voucher_type == "Journal Entry":
against_voucher_amount = flt(frappe.db.sql("""
- select sum(ifnull(debit, 0)) - sum(ifnull(credit, 0))
+ select sum(ifnull(debit_in_account_currency, 0)) - sum(ifnull(credit_in_account_currency, 0))
from `tabGL Entry` where voucher_type = 'Journal Entry' and voucher_no = %s
and account = %s and ifnull(against_voucher, '') = '' {0}"""
.format(party_condition), (against_voucher, account))[0][0])
diff --git a/erpnext/accounts/doctype/gl_entry/test_gl_entry.py b/erpnext/accounts/doctype/gl_entry/test_gl_entry.py
index 383409c..146d084 100644
--- a/erpnext/accounts/doctype/gl_entry/test_gl_entry.py
+++ b/erpnext/accounts/doctype/gl_entry/test_gl_entry.py
@@ -11,7 +11,7 @@
frappe.db.set_value("Company", "_Test Company", "round_off_cost_center", "_Test Cost Center - _TC")
jv = make_journal_entry("_Test Account Cost for Goods Sold - _TC",
- "_Test Account Bank Account - _TC", 100, "_Test Cost Center - _TC", submit=False)
+ "_Test Bank - _TC", 100, "_Test Cost Center - _TC", submit=False)
jv.get("accounts")[0].debit = 100.01
jv.flags.ignore_validate = True
diff --git a/erpnext/accounts/doctype/journal_entry/journal_entry.js b/erpnext/accounts/doctype/journal_entry/journal_entry.js
index 1e77422..383b4b6 100644
--- a/erpnext/accounts/doctype/journal_entry/journal_entry.js
+++ b/erpnext/accounts/doctype/journal_entry/journal_entry.js
@@ -2,8 +2,54 @@
// License: GNU General Public License v3. See license.txt
frappe.provide("erpnext.accounts");
+frappe.provide("erpnext.journal_entry");
frappe.require("assets/erpnext/js/utils.js");
+frappe.ui.form.on("Journal Entry", {
+ refresh: function(frm) {
+ erpnext.toggle_naming_series();
+ cur_frm.cscript.voucher_type(frm.doc);
+
+ if(frm.doc.docstatus==1) {
+ cur_frm.add_custom_button(__('View Ledger'), function() {
+ frappe.route_options = {
+ "voucher_no": frm.doc.name,
+ "from_date": frm.doc.posting_date,
+ "to_date": frm.doc.posting_date,
+ "company": frm.doc.company,
+ group_by_voucher: 0
+ };
+ frappe.set_route("query-report", "General Ledger");
+ }, "icon-table");
+ }
+
+ // hide /unhide fields based on currency
+ erpnext.journal_entry.toggle_fields_based_on_currency(frm);
+ },
+
+ multi_currency: function(frm) {
+ erpnext.journal_entry.toggle_fields_based_on_currency(frm);
+ }
+})
+
+erpnext.journal_entry.toggle_fields_based_on_currency = function(frm) {
+ var fields = ["currency_section", "account_currency", "exchange_rate", "debit", "credit"];
+
+ var grid = frm.get_field("accounts").grid;
+ if(grid) grid.set_column_disp(fields, frm.doc.multi_currency);
+
+ // dynamic label
+ var field_label_map = {
+ "debit_in_account_currency": "Debit",
+ "credit_in_account_currency": "Credit"
+ };
+
+ $.each(field_label_map, function (fieldname, label) {
+ var df = frappe.meta.get_docfield("Journal Entry Account", fieldname, frm.doc.name);
+ df.label = frm.doc.multi_currency ? (label + " in Account Currency") : label;
+ })
+}
+
erpnext.accounts.JournalEntry = frappe.ui.form.Controller.extend({
onload: function() {
this.load_defaults();
@@ -29,17 +75,27 @@
setup_queries: function() {
var me = this;
-
- $.each(["account", "cost_center"], function(i, fieldname) {
- me.frm.set_query(fieldname, "accounts", function() {
- frappe.model.validate_missing(me.frm.doc, "company");
- return {
- filters: {
- company: me.frm.doc.company,
- is_group: 0
- }
- };
- });
+
+ me.frm.set_query("account", "accounts", function(doc, cdt, cdn) {
+ var filters = {
+ company: me.frm.doc.company,
+ is_group: 0
+ };
+ if(!doc.multi_currency) {
+ $.extend(filters, {
+ account_currency: frappe.get_doc(":Company", me.frm.doc.company).default_currency
+ });
+ }
+ return { filters: filters };
+ });
+
+ me.frm.set_query("cost_center", "accounts", function(doc, cdt, cdn) {
+ return {
+ filters: {
+ company: me.frm.doc.company,
+ is_group: 0
+ }
+ };
});
me.frm.set_query("party_type", "accounts", function(doc, cdt, cdn) {
@@ -118,32 +174,39 @@
reference_name: function(doc, cdt, cdn) {
var d = frappe.get_doc(cdt, cdn);
- if (d.reference_type==="Purchase Invoice" && !flt(d.debit)) {
- this.get_outstanding('Purchase Invoice', d.reference_name, d);
- }
- if (d.reference_type==="Sales Invoice" && !flt(d.credit)) {
- this.get_outstanding('Sales Invoice', d.reference_name, d);
- }
- if (d.reference_type==="Journal Entry" && !flt(d.credit) && !flt(d.debit)) {
- this.get_outstanding('Journal Entry', d.reference_name, d);
+ if(d.reference_name) {
+ if (d.reference_type==="Purchase Invoice" && !flt(d.debit)) {
+ this.get_outstanding('Purchase Invoice', d.reference_name, doc.company, d);
+ }
+ if (d.reference_type==="Sales Invoice" && !flt(d.credit)) {
+ this.get_outstanding('Sales Invoice', d.reference_name, doc.company, d);
+ }
+ if (d.reference_type==="Journal Entry" && !flt(d.credit) && !flt(d.debit)) {
+ this.get_outstanding('Journal Entry', d.reference_name, doc.company, d);
+ }
}
},
- get_outstanding: function(doctype, docname, child) {
+ get_outstanding: function(doctype, docname, company, child) {
var me = this;
var args = {
"doctype": doctype,
"docname": docname,
"party": child.party,
- "account": child.account
+ "account": child.account,
+ "account_currency": child.account_currency,
+ "company": company
}
- return this.frm.call({
- child: child,
- method: "get_outstanding",
+ return frappe.call({
+ method: "erpnext.accounts.doctype.journal_entry.journal_entry.get_outstanding",
args: { args: args},
callback: function(r) {
- cur_frm.cscript.update_totals(me.frm.doc);
+ if(r.message) {
+ $.each(r.message, function(field, value) {
+ frappe.model.set_value(child.doctype, child.name, field, value);
+ })
+ }
}
});
},
@@ -161,35 +224,20 @@
// set difference
if(doc.difference) {
if(doc.difference > 0) {
+ row.credit_in_account_currency = doc.difference;
row.credit = doc.difference;
} else {
+ row.debit_in_account_currency = -doc.difference;
row.debit = -doc.difference;
}
}
+ cur_frm.cscript.update_totals(doc);
},
});
cur_frm.script_manager.make(erpnext.accounts.JournalEntry);
-cur_frm.cscript.refresh = function(doc) {
- erpnext.toggle_naming_series();
- cur_frm.cscript.voucher_type(doc);
-
- if(doc.docstatus==1) {
- cur_frm.add_custom_button(__('View Ledger'), function() {
- frappe.route_options = {
- "voucher_no": doc.name,
- "from_date": doc.posting_date,
- "to_date": doc.posting_date,
- "company": doc.company,
- group_by_voucher: 0
- };
- frappe.set_route("query-report", "General Ledger");
- }, "icon-table");
- }
-}
-
cur_frm.cscript.company = function(doc, cdt, cdn) {
cur_frm.refresh_fields();
erpnext.get_fiscal_year(doc.company, doc.posting_date);
@@ -201,10 +249,10 @@
cur_frm.cscript.update_totals = function(doc) {
var td=0.0; var tc =0.0;
- var el = doc.accounts || [];
- for(var i in el) {
- td += flt(el[i].debit, precision("debit", el[i]));
- tc += flt(el[i].credit, precision("credit", el[i]));
+ var accounts = doc.accounts || [];
+ for(var i in accounts) {
+ td += flt(accounts[i].debit, precision("debit", accounts[i]));
+ tc += flt(accounts[i].credit, precision("credit", accounts[i]));
}
var doc = locals[doc.doctype][doc.name];
doc.total_debit = td;
@@ -213,32 +261,12 @@
refresh_many(['total_debit','total_credit','difference']);
}
-cur_frm.cscript.debit = function(doc,dt,dn) { cur_frm.cscript.update_totals(doc); }
-cur_frm.cscript.credit = function(doc,dt,dn) { cur_frm.cscript.update_totals(doc); }
-
cur_frm.cscript.get_balance = function(doc,dt,dn) {
cur_frm.cscript.update_totals(doc);
return $c_obj(cur_frm.doc, 'get_balance', '', function(r, rt){
cur_frm.refresh();
});
}
-// Get balance
-// -----------
-
-cur_frm.cscript.account = function(doc,dt,dn) {
- var d = locals[dt][dn];
- if(d.account) {
- return frappe.call({
- method: "erpnext.accounts.doctype.journal_entry.journal_entry.get_account_balance_and_party_type",
- args: {account: d.account, date: doc.posting_date},
- callback: function(r) {
- $.extend(d, r.message);
- refresh_field('balance', d.name, 'accounts');
- refresh_field('party_type', d.name, 'accounts');
- }
- });
- }
-}
cur_frm.cscript.validate = function(doc,cdt,cdn) {
cur_frm.cscript.update_totals(doc);
@@ -303,18 +331,63 @@
}
}
-frappe.ui.form.on("Journal Entry Account", "party", function(frm, cdt, cdn) {
- var d = frappe.get_doc(cdt, cdn);
- if(!d.account && d.party_type && d.party) {
- return frm.call({
- method: "erpnext.accounts.doctype.journal_entry.journal_entry.get_party_account_and_balance",
- child: d,
- args: {
- company: frm.doc.company,
- party_type: d.party_type,
- party: d.party
- }
- });
+frappe.ui.form.on("Journal Entry Account", {
+ party: function(frm, cdt, cdn) {
+ var d = frappe.get_doc(cdt, cdn);
+ if(!d.account && d.party_type && d.party) {
+ return frm.call({
+ method: "erpnext.accounts.doctype.journal_entry.journal_entry.get_party_account_and_balance",
+ child: d,
+ args: {
+ company: frm.doc.company,
+ party_type: d.party_type,
+ party: d.party
+ }
+ });
+ }
+ },
+
+ account: function(frm, dt, dn) {
+ var d = locals[dt][dn];
+ if(d.account) {
+ return frappe.call({
+ method: "erpnext.accounts.doctype.journal_entry.journal_entry.get_account_balance_and_party_type",
+ args: {
+ account: d.account,
+ date: frm.doc.posting_date,
+ company: frm.doc.company,
+ debit: flt(d.debit_in_account_currency),
+ credit: flt(d.credit_in_account_currency),
+ exchange_rate: d.exchange_rate
+ },
+ callback: function(r) {
+ if(r.message) {
+ $.extend(d, r.message);
+ refresh_field('accounts');
+ }
+ }
+ });
+ }
+ },
+
+ debit_in_account_currency: function(frm, cdt, cdn) {
+ erpnext.journal_entry.set_debit_credit_in_company_currency(frm, cdt, cdn);
+ },
+
+ credit_in_account_currency: function(frm, cdt, cdn) {
+ erpnext.journal_entry.set_debit_credit_in_company_currency(frm, cdt, cdn);
+ },
+
+ debit: function(frm, dt, dn) {
+ cur_frm.cscript.update_totals(frm.doc);
+ },
+
+ credit: function(frm, dt, dn) {
+ cur_frm.cscript.update_totals(frm.doc);
+ },
+
+ exchange_rate: function(frm, cdt, cdn) {
+ erpnext.journal_entry.set_debit_credit_in_company_currency(frm, cdt, cdn);
}
})
@@ -322,3 +395,41 @@
cur_frm.cscript.update_totals(frm.doc);
});
+erpnext.journal_entry.set_debit_credit_in_company_currency = function(frm, cdt, cdn) {
+ erpnext.journal_entry.set_exchange_rate(frm, cdt, cdn);
+
+ var row = locals[cdt][cdn];
+
+ frappe.model.set_value(cdt, cdn, "debit",
+ flt(flt(row.debit_in_account_currency)*row.exchange_rate), precision("debit", row));
+ frappe.model.set_value(cdt, cdn, "credit",
+ flt(flt(row.credit_in_account_currency)*row.exchange_rate), precision("credit", row));
+}
+
+erpnext.journal_entry.set_exchange_rate = function(frm, cdt, cdn) {
+ var company_currency = frappe.get_doc(":Company", frm.doc.company).default_currency;
+ var row = locals[cdt][cdn];
+
+ if(row.account_currency == company_currency || !frm.doc.multi_currency) {
+ frappe.model.set_value(cdt, cdn, "exchange_rate", 1);
+ } else if (!row.exchange_rate || row.account_type == "Bank") {
+ frappe.call({
+ method: "erpnext.accounts.doctype.journal_entry.journal_entry.get_exchange_rate",
+ args: {
+ account: row.account,
+ account_currency: row.account_currency,
+ company: frm.doc.company,
+ reference_type: cstr(row.reference_type),
+ reference_name: cstr(row.reference_name),
+ debit: flt(row.debit_in_account_currency),
+ credit: flt(row.credit_in_account_currency),
+ exchange_rate: row.exchange_rate
+ },
+ callback: function(r) {
+ if(r.message) {
+ frappe.model.set_value(cdt, cdn, "exchange_rate", r.message);
+ }
+ }
+ })
+ }
+}
\ No newline at end of file
diff --git a/erpnext/accounts/doctype/journal_entry/journal_entry.json b/erpnext/accounts/doctype/journal_entry/journal_entry.json
index d29de0a..175f4ae 100644
--- a/erpnext/accounts/doctype/journal_entry/journal_entry.json
+++ b/erpnext/accounts/doctype/journal_entry/journal_entry.json
@@ -1,1078 +1,1100 @@
{
- "allow_copy": 0,
- "allow_import": 1,
- "allow_rename": 0,
- "autoname": "naming_series:",
- "creation": "2013-03-25 10:53:52",
- "custom": 0,
- "docstatus": 0,
- "doctype": "DocType",
+ "allow_copy": 0,
+ "allow_import": 1,
+ "allow_rename": 0,
+ "autoname": "naming_series:",
+ "creation": "2013-03-25 10:53:52",
+ "custom": 0,
+ "docstatus": 0,
+ "doctype": "DocType",
"fields": [
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "entry_type_and_date",
- "fieldtype": "Section Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "",
- "no_copy": 0,
- "options": "icon-flag",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "entry_type_and_date",
+ "fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "",
+ "no_copy": 0,
+ "options": "icon-flag",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 1,
- "bold": 0,
- "collapsible": 0,
- "default": "",
- "fieldname": "title",
- "fieldtype": "Data",
- "hidden": 1,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Title",
- "no_copy": 0,
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 1,
+ "bold": 0,
+ "collapsible": 0,
+ "default": "",
+ "fieldname": "title",
+ "fieldtype": "Data",
+ "hidden": 1,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Title",
+ "no_copy": 1,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "default": "Journal Entry",
- "fieldname": "voucher_type",
- "fieldtype": "Select",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 1,
- "in_list_view": 0,
- "label": "Entry Type",
- "no_copy": 0,
- "oldfieldname": "voucher_type",
- "oldfieldtype": "Select",
- "options": "Journal Entry\nBank Entry\nCash Entry\nCredit Card Entry\nDebit Note\nCredit Note\nContra Entry\nExcise Entry\nWrite Off Entry\nOpening Entry",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 1,
- "search_index": 1,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "default": "Journal Entry",
+ "fieldname": "voucher_type",
+ "fieldtype": "Select",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 1,
+ "in_list_view": 0,
+ "label": "Entry Type",
+ "no_copy": 0,
+ "oldfieldname": "voucher_type",
+ "oldfieldtype": "Select",
+ "options": "Journal Entry\nBank Entry\nCash Entry\nCredit Card Entry\nDebit Note\nCredit Note\nContra Entry\nExcise Entry\nWrite Off Entry\nOpening Entry",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 1,
+ "search_index": 1,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "naming_series",
- "fieldtype": "Select",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Series",
- "no_copy": 1,
- "oldfieldname": "naming_series",
- "oldfieldtype": "Select",
- "options": "JV-",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 1,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "naming_series",
+ "fieldtype": "Select",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Series",
+ "no_copy": 1,
+ "oldfieldname": "naming_series",
+ "oldfieldtype": "Select",
+ "options": "JV-",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 1,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "column_break1",
- "fieldtype": "Column Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "no_copy": 0,
- "oldfieldtype": "Column Break",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "unique": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "column_break1",
+ "fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
+ "oldfieldtype": "Column Break",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0,
"width": "50%"
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "posting_date",
- "fieldtype": "Date",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 1,
- "in_list_view": 0,
- "label": "Posting Date",
- "no_copy": 1,
- "oldfieldname": "posting_date",
- "oldfieldtype": "Date",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 1,
- "search_index": 1,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "posting_date",
+ "fieldtype": "Date",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 1,
+ "in_list_view": 0,
+ "label": "Posting Date",
+ "no_copy": 1,
+ "oldfieldname": "posting_date",
+ "oldfieldtype": "Date",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 1,
+ "search_index": 1,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "2_add_edit_gl_entries",
- "fieldtype": "Section Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "",
- "no_copy": 0,
- "oldfieldtype": "Section Break",
- "options": "icon-table",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "2_add_edit_gl_entries",
+ "fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "",
+ "no_copy": 0,
+ "oldfieldtype": "Section Break",
+ "options": "icon-table",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 1,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "accounts",
- "fieldtype": "Table",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Accounting Entries",
- "no_copy": 0,
- "oldfieldname": "entries",
- "oldfieldtype": "Table",
- "options": "Journal Entry Account",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 1,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "accounts",
+ "fieldtype": "Table",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Accounting Entries",
+ "no_copy": 0,
+ "oldfieldname": "entries",
+ "oldfieldtype": "Table",
+ "options": "Journal Entry Account",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "section_break99",
- "fieldtype": "Section Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "no_copy": 0,
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "section_break99",
+ "fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "description": "",
- "fieldname": "cheque_no",
- "fieldtype": "Data",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 1,
- "in_list_view": 1,
- "label": "Reference Number",
- "no_copy": 1,
- "oldfieldname": "cheque_no",
- "oldfieldtype": "Data",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 1,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "description": "",
+ "fieldname": "cheque_no",
+ "fieldtype": "Data",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 1,
+ "in_list_view": 1,
+ "label": "Reference Number",
+ "no_copy": 1,
+ "oldfieldname": "cheque_no",
+ "oldfieldtype": "Data",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 1,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "cheque_date",
- "fieldtype": "Date",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Reference Date",
- "no_copy": 1,
- "oldfieldname": "cheque_date",
- "oldfieldtype": "Date",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "cheque_date",
+ "fieldtype": "Date",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Reference Date",
+ "no_copy": 1,
+ "oldfieldname": "cheque_date",
+ "oldfieldtype": "Date",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "user_remark",
- "fieldtype": "Small Text",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 1,
- "in_list_view": 0,
- "label": "User Remark",
- "no_copy": 1,
- "oldfieldname": "user_remark",
- "oldfieldtype": "Small Text",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "user_remark",
+ "fieldtype": "Small Text",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 1,
+ "in_list_view": 0,
+ "label": "User Remark",
+ "no_copy": 1,
+ "oldfieldname": "user_remark",
+ "oldfieldtype": "Small Text",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "column_break99",
- "fieldtype": "Column Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "no_copy": 0,
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "column_break99",
+ "fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "total_debit",
- "fieldtype": "Currency",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 1,
- "in_list_view": 1,
- "label": "Total Debit",
- "no_copy": 1,
- "oldfieldname": "total_debit",
- "oldfieldtype": "Currency",
- "options": "Company:company:default_currency",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "total_debit",
+ "fieldtype": "Currency",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 1,
+ "in_list_view": 1,
+ "label": "Total Debit",
+ "no_copy": 1,
+ "oldfieldname": "total_debit",
+ "oldfieldtype": "Currency",
+ "options": "Company:company:default_currency",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "total_credit",
- "fieldtype": "Currency",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 1,
- "in_list_view": 0,
- "label": "Total Credit",
- "no_copy": 1,
- "oldfieldname": "total_credit",
- "oldfieldtype": "Currency",
- "options": "Company:company:default_currency",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "total_credit",
+ "fieldtype": "Currency",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 1,
+ "in_list_view": 0,
+ "label": "Total Credit",
+ "no_copy": 1,
+ "oldfieldname": "total_credit",
+ "oldfieldtype": "Currency",
+ "options": "Company:company:default_currency",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "depends_on": "difference",
- "fieldname": "difference",
- "fieldtype": "Currency",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Difference (Dr - Cr)",
- "no_copy": 1,
- "oldfieldname": "difference",
- "oldfieldtype": "Currency",
- "options": "Company:company:default_currency",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "depends_on": "difference",
+ "fieldname": "difference",
+ "fieldtype": "Currency",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Difference (Dr - Cr)",
+ "no_copy": 1,
+ "oldfieldname": "difference",
+ "oldfieldtype": "Currency",
+ "options": "Company:company:default_currency",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "depends_on": "difference",
- "fieldname": "get_balance",
- "fieldtype": "Button",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Make Difference Entry",
- "no_copy": 0,
- "oldfieldtype": "Button",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "depends_on": "difference",
+ "fieldname": "get_balance",
+ "fieldtype": "Button",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Make Difference Entry",
+ "no_copy": 0,
+ "oldfieldtype": "Button",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "total_amount",
- "fieldtype": "Currency",
- "hidden": 1,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Total Amount",
- "no_copy": 1,
- "options": "Company:company:default_currency",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 1,
- "report_hide": 1,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "multi_currency",
+ "fieldtype": "Check",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Multi Currency",
+ "no_copy": 0,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "total_amount_in_words",
- "fieldtype": "Data",
- "hidden": 1,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Total Amount in Words",
- "no_copy": 1,
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 1,
- "report_hide": 1,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "total_amount",
+ "fieldtype": "Currency",
+ "hidden": 1,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Total Amount",
+ "no_copy": 1,
+ "options": "Company:company:default_currency",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 1,
+ "report_hide": 1,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 1,
- "fieldname": "reference",
- "fieldtype": "Section Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Reference",
- "no_copy": 0,
- "options": "icon-pushpin",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "total_amount_in_words",
+ "fieldtype": "Data",
+ "hidden": 1,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Total Amount in Words",
+ "no_copy": 1,
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 1,
+ "report_hide": 1,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "clearance_date",
- "fieldtype": "Date",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 1,
- "in_list_view": 0,
- "label": "Clearance Date",
- "no_copy": 1,
- "oldfieldname": "clearance_date",
- "oldfieldtype": "Date",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 1,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 1,
+ "fieldname": "reference",
+ "fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Reference",
+ "no_copy": 0,
+ "options": "icon-pushpin",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "description": "",
- "fieldname": "remark",
- "fieldtype": "Small Text",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Remark",
- "no_copy": 1,
- "oldfieldname": "remark",
- "oldfieldtype": "Small Text",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "clearance_date",
+ "fieldtype": "Date",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 1,
+ "in_list_view": 0,
+ "label": "Clearance Date",
+ "no_copy": 1,
+ "oldfieldname": "clearance_date",
+ "oldfieldtype": "Date",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 1,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "column_break98",
- "fieldtype": "Column Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "no_copy": 0,
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "description": "",
+ "fieldname": "remark",
+ "fieldtype": "Small Text",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Remark",
+ "no_copy": 1,
+ "oldfieldname": "remark",
+ "oldfieldtype": "Small Text",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "bill_no",
- "fieldtype": "Data",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Bill No",
- "no_copy": 0,
- "oldfieldname": "bill_no",
- "oldfieldtype": "Data",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "column_break98",
+ "fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "bill_date",
- "fieldtype": "Date",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Bill Date",
- "no_copy": 0,
- "oldfieldname": "bill_date",
- "oldfieldtype": "Date",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "bill_no",
+ "fieldtype": "Data",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Bill No",
+ "no_copy": 0,
+ "oldfieldname": "bill_no",
+ "oldfieldtype": "Data",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "due_date",
- "fieldtype": "Date",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Due Date",
- "no_copy": 0,
- "oldfieldname": "due_date",
- "oldfieldtype": "Date",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "bill_date",
+ "fieldtype": "Date",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Bill Date",
+ "no_copy": 0,
+ "oldfieldname": "bill_date",
+ "oldfieldtype": "Date",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 1,
- "depends_on": "eval:doc.voucher_type == 'Write Off Entry'",
- "fieldname": "write_off",
- "fieldtype": "Section Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Write Off",
- "no_copy": 0,
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "due_date",
+ "fieldtype": "Date",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Due Date",
+ "no_copy": 0,
+ "oldfieldname": "due_date",
+ "oldfieldtype": "Date",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "default": "Accounts Receivable",
- "depends_on": "eval:doc.voucher_type == 'Write Off Entry'",
- "fieldname": "write_off_based_on",
- "fieldtype": "Select",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Write Off Based On",
- "no_copy": 0,
- "options": "Accounts Receivable\nAccounts Payable",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 1,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 1,
+ "depends_on": "eval:doc.voucher_type == 'Write Off Entry'",
+ "fieldname": "write_off",
+ "fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Write Off",
+ "no_copy": 0,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "depends_on": "eval:doc.voucher_type == 'Write Off Entry'",
- "fieldname": "get_outstanding_invoices",
- "fieldtype": "Button",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Get Outstanding Invoices",
- "no_copy": 0,
- "options": "get_outstanding_invoices",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "default": "Accounts Receivable",
+ "depends_on": "eval:doc.voucher_type == 'Write Off Entry'",
+ "fieldname": "write_off_based_on",
+ "fieldtype": "Select",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Write Off Based On",
+ "no_copy": 0,
+ "options": "Accounts Receivable\nAccounts Payable",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 1,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "column_break_30",
- "fieldtype": "Column Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "no_copy": 0,
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "depends_on": "eval:doc.voucher_type == 'Write Off Entry'",
+ "fieldname": "get_outstanding_invoices",
+ "fieldtype": "Button",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Get Outstanding Invoices",
+ "no_copy": 0,
+ "options": "get_outstanding_invoices",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "depends_on": "eval:doc.voucher_type == 'Write Off Entry'",
- "fieldname": "write_off_amount",
- "fieldtype": "Currency",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Write Off Amount",
- "no_copy": 0,
- "options": "Company:company:default_currency",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 1,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "column_break_30",
+ "fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 1,
- "fieldname": "printing_settings",
- "fieldtype": "Section Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Printing Settings",
- "no_copy": 0,
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "depends_on": "eval:doc.voucher_type == 'Write Off Entry'",
+ "fieldname": "write_off_amount",
+ "fieldtype": "Currency",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Write Off Amount",
+ "no_copy": 0,
+ "options": "Company:company:default_currency",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 1,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "pay_to_recd_from",
- "fieldtype": "Data",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Pay To / Recd From",
- "no_copy": 1,
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 1,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 1,
+ "fieldname": "printing_settings",
+ "fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Printing Settings",
+ "no_copy": 0,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "column_break_35",
- "fieldtype": "Column Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "no_copy": 0,
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "pay_to_recd_from",
+ "fieldtype": "Data",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Pay To / Recd From",
+ "no_copy": 1,
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 1,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 1,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "letter_head",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Letter Head",
- "no_copy": 0,
- "options": "Letter Head",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "column_break_35",
+ "fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 1,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "select_print_heading",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Print Heading",
- "no_copy": 1,
- "oldfieldname": "select_print_heading",
- "oldfieldtype": "Link",
- "options": "Print Heading",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 1,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 1,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "letter_head",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Letter Head",
+ "no_copy": 0,
+ "options": "Letter Head",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 1,
- "fieldname": "addtional_info",
- "fieldtype": "Section Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "More Information",
- "no_copy": 0,
- "oldfieldtype": "Section Break",
- "options": "icon-file-text",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 1,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "select_print_heading",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Print Heading",
+ "no_copy": 1,
+ "oldfieldname": "select_print_heading",
+ "oldfieldtype": "Link",
+ "options": "Print Heading",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 1,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "company",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 1,
- "in_list_view": 0,
- "label": "Company",
- "no_copy": 0,
- "oldfieldname": "company",
- "oldfieldtype": "Link",
- "options": "Company",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 1,
- "search_index": 1,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 1,
+ "fieldname": "addtional_info",
+ "fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "More Information",
+ "no_copy": 0,
+ "oldfieldtype": "Section Break",
+ "options": "icon-file-text",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "fiscal_year",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 1,
- "in_list_view": 0,
- "label": "Fiscal Year",
- "no_copy": 0,
- "oldfieldname": "fiscal_year",
- "oldfieldtype": "Select",
- "options": "Fiscal Year",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 1,
- "search_index": 1,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "company",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 1,
+ "in_list_view": 0,
+ "label": "Company",
+ "no_copy": 0,
+ "oldfieldname": "company",
+ "oldfieldtype": "Link",
+ "options": "Company",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 1,
+ "search_index": 1,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "column_break3",
- "fieldtype": "Column Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "no_copy": 0,
- "oldfieldtype": "Column Break",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "unique": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "fiscal_year",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 1,
+ "in_list_view": 0,
+ "label": "Fiscal Year",
+ "no_copy": 0,
+ "oldfieldname": "fiscal_year",
+ "oldfieldtype": "Select",
+ "options": "Fiscal Year",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 1,
+ "search_index": 1,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "column_break3",
+ "fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
+ "oldfieldtype": "Column Break",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0,
"width": "50%"
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "default": "No",
- "description": "",
- "fieldname": "is_opening",
- "fieldtype": "Select",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 1,
- "in_list_view": 0,
- "label": "Is Opening",
- "no_copy": 0,
- "oldfieldname": "is_opening",
- "oldfieldtype": "Select",
- "options": "No\nYes",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 1,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "default": "No",
+ "description": "",
+ "fieldname": "is_opening",
+ "fieldtype": "Select",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 1,
+ "in_list_view": 0,
+ "label": "Is Opening",
+ "no_copy": 0,
+ "oldfieldname": "is_opening",
+ "oldfieldtype": "Select",
+ "options": "No\nYes",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 1,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "depends_on": "eval:inList([\"Credit Note\", \"Debit Note\"], doc.voucher_type)",
- "fieldname": "stock_entry",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Stock Entry",
- "no_copy": 0,
- "options": "Stock Entry",
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "depends_on": "eval:inList([\"Credit Note\", \"Debit Note\"], doc.voucher_type)",
+ "fieldname": "stock_entry",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Stock Entry",
+ "no_copy": 0,
+ "options": "Stock Entry",
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "amended_from",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 1,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Amended From",
- "no_copy": 1,
- "oldfieldname": "amended_from",
- "oldfieldtype": "Link",
- "options": "Journal Entry",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "amended_from",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 1,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Amended From",
+ "no_copy": 1,
+ "oldfieldname": "amended_from",
+ "oldfieldtype": "Link",
+ "options": "Journal Entry",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
}
- ],
- "hide_heading": 0,
- "hide_toolbar": 0,
- "icon": "icon-file-text",
- "idx": 1,
- "in_create": 0,
- "in_dialog": 0,
- "is_submittable": 1,
- "issingle": 0,
- "istable": 0,
- "modified": "2015-09-07 15:51:26",
- "modified_by": "Administrator",
- "module": "Accounts",
- "name": "Journal Entry",
- "owner": "Administrator",
+ ],
+ "hide_heading": 0,
+ "hide_toolbar": 0,
+ "icon": "icon-file-text",
+ "idx": 1,
+ "in_create": 0,
+ "in_dialog": 0,
+ "is_submittable": 1,
+ "issingle": 0,
+ "istable": 0,
+ "modified": "2015-09-11 12:21:50.635624",
+ "modified_by": "Administrator",
+ "module": "Accounts",
+ "name": "Journal Entry",
+ "owner": "Administrator",
"permissions": [
{
- "amend": 1,
- "apply_user_permissions": 0,
- "cancel": 1,
- "create": 1,
- "delete": 1,
- "email": 1,
- "export": 0,
- "if_owner": 0,
- "import": 0,
- "permlevel": 0,
- "print": 1,
- "read": 1,
- "report": 1,
- "role": "Accounts User",
- "set_user_permissions": 0,
- "share": 1,
- "submit": 1,
+ "amend": 1,
+ "apply_user_permissions": 0,
+ "cancel": 1,
+ "create": 1,
+ "delete": 1,
+ "email": 1,
+ "export": 0,
+ "if_owner": 0,
+ "import": 0,
+ "permlevel": 0,
+ "print": 1,
+ "read": 1,
+ "report": 1,
+ "role": "Accounts User",
+ "set_user_permissions": 0,
+ "share": 1,
+ "submit": 1,
"write": 1
- },
+ },
{
- "amend": 1,
- "apply_user_permissions": 0,
- "cancel": 1,
- "create": 1,
- "delete": 1,
- "email": 1,
- "export": 0,
- "if_owner": 0,
- "import": 0,
- "permlevel": 0,
- "print": 1,
- "read": 1,
- "report": 1,
- "role": "Accounts Manager",
- "set_user_permissions": 0,
- "share": 1,
- "submit": 1,
+ "amend": 1,
+ "apply_user_permissions": 0,
+ "cancel": 1,
+ "create": 1,
+ "delete": 1,
+ "email": 1,
+ "export": 0,
+ "if_owner": 0,
+ "import": 0,
+ "permlevel": 0,
+ "print": 1,
+ "read": 1,
+ "report": 1,
+ "role": "Accounts Manager",
+ "set_user_permissions": 0,
+ "share": 1,
+ "submit": 1,
"write": 1
- },
+ },
{
- "amend": 0,
- "apply_user_permissions": 0,
- "cancel": 0,
- "create": 0,
- "delete": 0,
- "email": 1,
- "export": 0,
- "if_owner": 0,
- "import": 0,
- "permlevel": 0,
- "print": 1,
- "read": 1,
- "report": 1,
- "role": "Auditor",
- "set_user_permissions": 0,
- "share": 0,
- "submit": 0,
+ "amend": 0,
+ "apply_user_permissions": 0,
+ "cancel": 0,
+ "create": 0,
+ "delete": 0,
+ "email": 1,
+ "export": 0,
+ "if_owner": 0,
+ "import": 0,
+ "permlevel": 0,
+ "print": 1,
+ "read": 1,
+ "report": 1,
+ "role": "Auditor",
+ "set_user_permissions": 0,
+ "share": 0,
+ "submit": 0,
"write": 0
}
- ],
- "read_only": 0,
- "read_only_onload": 1,
- "search_fields": "voucher_type,posting_date, due_date, cheque_no",
- "sort_field": "modified",
- "sort_order": "DESC",
+ ],
+ "read_only": 0,
+ "read_only_onload": 1,
+ "search_fields": "voucher_type,posting_date, due_date, cheque_no",
+ "sort_field": "modified",
+ "sort_order": "DESC",
"title_field": "title"
-}
\ No newline at end of file
+}
diff --git a/erpnext/accounts/doctype/journal_entry/journal_entry.py b/erpnext/accounts/doctype/journal_entry/journal_entry.py
index f5f22dc..cb12969 100644
--- a/erpnext/accounts/doctype/journal_entry/journal_entry.py
+++ b/erpnext/accounts/doctype/journal_entry/journal_entry.py
@@ -3,11 +3,11 @@
from __future__ import unicode_literals
import frappe
-from frappe.utils import cstr, flt, fmt_money, formatdate, getdate, date_diff
+from frappe.utils import cstr, flt, fmt_money, formatdate
from frappe import msgprint, _, scrub
-from erpnext.setup.utils import get_company_currency
from erpnext.controllers.accounts_controller import AccountsController
from erpnext.accounts.utils import get_balance_on
+from erpnext.setup.utils import get_company_currency
class JournalEntry(AccountsController):
@@ -26,6 +26,7 @@
self.validate_party()
self.validate_cheque_info()
self.validate_entries_for_advance()
+ self.validate_multi_currency()
self.validate_debit_and_credit()
self.validate_against_jv()
self.validate_reference_doc()
@@ -35,6 +36,7 @@
self.validate_expense_claim()
self.validate_credit_debit_note()
self.validate_empty_accounts_table()
+ self.set_account_and_party_balance()
self.set_title()
def on_submit(self):
@@ -144,6 +146,7 @@
self.reference_totals = {}
self.reference_types = {}
+ self.reference_parties = {}
for d in self.get("accounts"):
if not d.reference_type:
@@ -151,8 +154,8 @@
if not d.reference_name:
d.reference_type = None
if d.reference_type and d.reference_name and (d.reference_type in field_dict.keys()):
- dr_or_cr = "credit" if d.reference_type in ("Sales Order", "Sales Invoice") \
- else "debit"
+ dr_or_cr = "credit_in_account_currency" \
+ if d.reference_type in ("Sales Order", "Sales Invoice") else "debit_in_account_currency"
# check debit or credit type Sales / Purchase Order
if d.reference_type=="Sales Order" and flt(d.debit) > 0:
@@ -166,6 +169,8 @@
self.reference_totals[d.reference_name] = 0.0
self.reference_totals[d.reference_name] += flt(d.get(dr_or_cr))
self.reference_types[d.reference_name] = d.reference_type
+ if d.party_type and d.party:
+ self.reference_parties[d.reference_name] = [d.party_type, d.party]
against_voucher = frappe.db.get_value(d.reference_type, d.reference_name,
[scrub(dt) for dt in field_dict.get(d.reference_type)])
@@ -191,23 +196,31 @@
"""Validate totals, stopped and docstatus for orders"""
for reference_name, total in self.reference_totals.iteritems():
reference_type = self.reference_types[reference_name]
+ party_type, party = self.reference_parties.get(reference_name)
if reference_type in ("Sales Order", "Purchase Order"):
- voucher_properties = frappe.db.get_value(reference_type, reference_name,
- ["docstatus", "per_billed", "status", "advance_paid", "base_grand_total"])
+ order = frappe.db.get_value(reference_type, reference_name,
+ ["docstatus", "per_billed", "status", "advance_paid",
+ "base_grand_total", "grand_total", "currency"], as_dict=1)
- if voucher_properties[0] != 1:
+ if order.docstatus != 1:
frappe.throw(_("{0} {1} is not submitted").format(reference_type, reference_name))
- if flt(voucher_properties[1]) >= 100:
+ if flt(order.per_billed) >= 100:
frappe.throw(_("{0} {1} is fully billed").format(reference_type, reference_name))
- if cstr(voucher_properties[2]) == "Stopped":
+ if cstr(order.status) == "Stopped":
frappe.throw(_("{0} {1} is stopped").format(reference_type, reference_name))
- if flt(voucher_properties[4]) < (flt(voucher_properties[3]) + total):
+ party_account_currency = frappe.db.get_value(party_type, party, "party_account_currency")
+ if party_account_currency == self.company_currency:
+ voucher_total = order.base_grand_total
+ else:
+ voucher_total = order.grand_total
+
+ if flt(voucher_total) < (flt(order.advance_paid) + total):
frappe.throw(_("Advance paid against {0} {1} cannot be greater \
- than Grand Total {2}").format(reference_type, reference_name, voucher_properties[4]))
+ than Grand Total {2}").format(reference_type, reference_name, voucher_total))
def validate_invoices(self):
"""Validate totals and docstatus for invoices"""
@@ -215,15 +228,15 @@
reference_type = self.reference_types[reference_name]
if reference_type in ("Sales Invoice", "Purchase Invoice"):
- voucher_properties = frappe.db.get_value(reference_type, reference_name,
- ["docstatus", "outstanding_amount"])
+ invoice = frappe.db.get_value(reference_type, reference_name,
+ ["docstatus", "outstanding_amount"], as_dict=1)
- if voucher_properties[0] != 1:
+ if invoice.docstatus != 1:
frappe.throw(_("{0} {1} is not submitted").format(reference_type, reference_name))
- if total and flt(voucher_properties[1]) < total:
- frappe.throw(_("Payment against {0} {1} cannot be greater \
- than Outstanding Amount {2}").format(reference_type, reference_name, voucher_properties[1]))
+ if total and flt(invoice.outstanding_amount) < total:
+ frappe.throw(_("Payment against {0} {1} cannot be greater than Outstanding Amount {2}")
+ .format(reference_type, reference_name, invoice.outstanding_amount))
def set_against_account(self):
accounts_debited, accounts_credited = [], []
@@ -237,13 +250,12 @@
def validate_debit_and_credit(self):
self.total_debit, self.total_credit, self.difference = 0, 0, 0
-
for d in self.get("accounts"):
if d.debit and d.credit:
frappe.throw(_("You cannot credit and debit same account at the same time"))
- self.total_debit = flt(self.total_debit) + flt(d.debit, self.precision("debit", "accounts"))
- self.total_credit = flt(self.total_credit) + flt(d.credit, self.precision("credit", "accounts"))
+ self.total_debit = flt(self.total_debit) + flt(d.debit, d.precision("debit"))
+ self.total_credit = flt(self.total_credit) + flt(d.credit, d.precision("credit"))
self.difference = flt(self.total_debit, self.precision("total_debit")) - \
flt(self.total_credit, self.precision("total_credit"))
@@ -252,6 +264,41 @@
frappe.throw(_("Total Debit must be equal to Total Credit. The difference is {0}")
.format(self.difference))
+ def validate_multi_currency(self):
+ alternate_currency = []
+ for d in self.get("accounts"):
+ account = frappe.db.get_value("Account", d.account, ["account_currency", "account_type"], as_dict=1)
+ d.account_currency = account.account_currency or self.company_currency
+ d.account_type = account.account_type
+
+ if d.account_currency!=self.company_currency and d.account_currency not in alternate_currency:
+ alternate_currency.append(d.account_currency)
+
+ if alternate_currency:
+ if not self.multi_currency:
+ frappe.throw(_("Please check Multi Currency option to allow accounts with other currency"))
+
+ if len(alternate_currency) > 1:
+ frappe.throw(_("Only one alternate currency can be used in a single Journal Entry"))
+
+ self.set_exchange_rate()
+
+ for d in self.get("accounts"):
+ d.debit = flt(flt(d.debit_in_account_currency)*flt(d.exchange_rate), d.precision("debit"))
+ d.credit = flt(flt(d.credit_in_account_currency)*flt(d.exchange_rate), d.precision("credit"))
+
+ def set_exchange_rate(self):
+ for d in self.get("accounts"):
+ if d.account_currency == self.company_currency:
+ d.exchange_rate = 1
+ elif not d.exchange_rate or d.account_type=="Bank" or \
+ (d.reference_type in ("Sales Invoice", "Purchase Invoice") and d.reference_name):
+ d.exchange_rate = get_exchange_rate(d.account, d.account_currency, self.company,
+ d.reference_type, d.reference_name, d.debit, d.credit, d.exchange_rate)
+
+ if not d.exchange_rate:
+ frappe.throw(_("Row {0}: Exchange Rate is mandatory").format(d.idx))
+
def create_remarks(self):
r = []
if self.cheque_no:
@@ -260,15 +307,13 @@
else:
msgprint(_("Please enter Reference date"), raise_exception=frappe.MandatoryError)
- company_currency = get_company_currency(self.company)
-
for d in self.get('accounts'):
if d.reference_type=="Sales Invoice" and d.credit:
- r.append(_("{0} against Sales Invoice {1}").format(fmt_money(flt(d.credit), currency = company_currency), \
+ r.append(_("{0} against Sales Invoice {1}").format(fmt_money(flt(d.credit), currency = self.company_currency), \
d.reference_name))
if d.reference_type=="Sales Order" and d.credit:
- r.append(_("{0} against Sales Order {1}").format(fmt_money(flt(d.credit), currency = company_currency), \
+ r.append(_("{0} against Sales Order {1}").format(fmt_money(flt(d.credit), currency = self.company_currency), \
d.reference_name))
if d.reference_type == "Purchase Invoice" and d.debit:
@@ -276,11 +321,11 @@
from `tabPurchase Invoice` where name=%s""", d.reference_name)
if bill_no and bill_no[0][0] and bill_no[0][0].lower().strip() \
not in ['na', 'not applicable', 'none']:
- r.append(_('{0} against Bill {1} dated {2}').format(fmt_money(flt(d.debit), currency=company_currency), bill_no[0][0],
+ r.append(_('{0} against Bill {1} dated {2}').format(fmt_money(flt(d.debit), currency=self.company_currency), bill_no[0][0],
bill_no[0][1] and formatdate(bill_no[0][1].strftime('%Y-%m-%d'))))
if d.reference_type == "Purchase Order" and d.debit:
- r.append(_("{0} against Purchase Order {1}").format(fmt_money(flt(d.credit), currency = company_currency), \
+ r.append(_("{0} against Purchase Order {1}").format(fmt_money(flt(d.credit), currency = self.company_currency), \
d.reference_name))
if self.user_remark:
@@ -301,10 +346,9 @@
self.set_total_amount(d.debit or d.credit)
def set_total_amount(self, amt):
- company_currency = get_company_currency(self.company)
self.total_amount = amt
from frappe.utils import money_in_words
- self.total_amount_in_words = money_in_words(amt, company_currency)
+ self.total_amount_in_words = money_in_words(amt, self.company_currency)
def make_gl_entries(self, cancel=0, adv_adj=0):
from erpnext.accounts.general_ledger import make_gl_entries
@@ -318,8 +362,11 @@
"party_type": d.party_type,
"party": d.party,
"against": d.against_account,
- "debit": flt(d.debit, self.precision("debit", "accounts")),
- "credit": flt(d.credit, self.precision("credit", "accounts")),
+ "debit": flt(d.debit, d.precision("debit")),
+ "credit": flt(d.credit, d.precision("credit")),
+ "account_currency": d.account_currency,
+ "debit_in_account_currency": flt(d.debit_in_account_currency, d.precision("debit_in_account_currency")),
+ "credit_in_account_currency": flt(d.credit_in_account_currency, d.precision("credit_in_account_currency")),
"against_voucher_type": d.reference_type,
"against_voucher": d.reference_name,
"remarks": self.remark,
@@ -338,21 +385,21 @@
diff = flt(self.difference, self.precision("difference"))
# If any row without amount, set the diff on that row
- for d in self.get('accounts'):
- if not d.credit and not d.debit and diff != 0:
- if diff>0:
- d.credit = diff
- elif diff<0:
- d.debit = diff
- flag = 1
+ if diff:
+ for d in self.get('accounts'):
+ if not d.credit_in_account_currency and not d.debit_in_account_currency and diff != 0:
+ blank_row = d
- # Set the diff in a new row
- if flag == 0 and diff != 0:
- jd = self.append('accounts', {})
+ if not blank_row:
+ blank_row = self.append('accounts', {})
+
+ blank_row.exchange_rate = 1
if diff>0:
- jd.credit = abs(diff)
+ blank_row.credit_in_account_currency = diff
+ blank_row.credit = diff
elif diff<0:
- jd.debit = abs(diff)
+ blank_row.debit_in_account_currency = abs(diff)
+ blank_row.debit = abs(diff)
self.validate_debit_and_credit()
@@ -427,6 +474,11 @@
if not self.get('accounts'):
frappe.throw("Accounts table cannot be blank.")
+ def set_account_and_party_balance(self):
+ for d in self.get("accounts"):
+ d.account_balance = get_balance_on(account=d.account, date=self.posting_date)
+ d.party_balance = get_balance_on(party_type=d.party_type, party=d.party, date=self.posting_date)
+
@frappe.whitelist()
def get_default_bank_cash_account(company, voucher_type, mode_of_payment=None):
from erpnext.accounts.doctype.sales_invoice.sales_invoice import get_bank_cash_account
@@ -446,9 +498,12 @@
account = frappe.db.get_value("Account", {"company": company, "account_type": "Cash", "is_group": 0})
if account:
+ account_details = frappe.db.get_value("Account", account, ["account_currency", "account_type"], as_dict=1)
return {
"account": account,
- "balance": get_balance_on(account)
+ "balance": get_balance_on(account),
+ "account_currency": account_details.account_currency,
+ "account_type": account_details.account_type
}
@frappe.whitelist()
@@ -456,21 +511,38 @@
"""Returns new Journal Entry document as dict for given Sales Invoice"""
from erpnext.accounts.utils import get_balance_on
si = frappe.get_doc("Sales Invoice", sales_invoice)
+
+ # exchange rate
+ exchange_rate = get_exchange_rate(si.debit_to, si.party_account_currency, si.company,
+ si.doctype, si.name)
+
jv = get_payment_entry(si)
jv.remark = 'Payment received against Sales Invoice {0}. {1}'.format(si.name, si.remarks)
# credit customer
- jv.get("accounts")[0].account = si.debit_to
- jv.get("accounts")[0].party_type = "Customer"
- jv.get("accounts")[0].party = si.customer
- jv.get("accounts")[0].balance = get_balance_on(si.debit_to)
- jv.get("accounts")[0].party_balance = get_balance_on(party=si.customer, party_type="Customer")
- jv.get("accounts")[0].credit = si.outstanding_amount
- jv.get("accounts")[0].reference_type = si.doctype
- jv.get("accounts")[0].reference_name = si.name
+ row1 = jv.get("accounts")[0]
+ row1.account = si.debit_to
+ row1.account_currency = si.party_account_currency
+ row1.party_type = "Customer"
+ row1.party = si.customer
+ row1.balance = get_balance_on(si.debit_to)
+ row1.party_balance = get_balance_on(party=si.customer, party_type="Customer")
+ row1.credit_in_account_currency = si.outstanding_amount
+ row1.reference_type = si.doctype
+ row1.reference_name = si.name
+ row1.exchange_rate = exchange_rate
+ row1.account_type = "Receivable" if si.customer else ""
# debit bank
- jv.get("accounts")[1].debit = si.outstanding_amount
+ row2 = jv.get("accounts")[1]
+ if row2.account_currency == si.party_account_currency:
+ row2.debit_in_account_currency = si.outstanding_amount
+ else:
+ row2.debit_in_account_currency = si.outstanding_amount * exchange_rate
+
+ # set multi currency check
+ if row1.account_currency != si.company_currency or row2.account_currency != si.company_currency:
+ jv.multi_currency = 1
return jv.as_dict()
@@ -478,21 +550,38 @@
def get_payment_entry_from_purchase_invoice(purchase_invoice):
"""Returns new Journal Entry document as dict for given Purchase Invoice"""
pi = frappe.get_doc("Purchase Invoice", purchase_invoice)
+
+ exchange_rate = get_exchange_rate(pi.debit_to, pi.party_account_currency, pi.company,
+ pi.doctype, pi.name)
+
jv = get_payment_entry(pi)
jv.remark = 'Payment against Purchase Invoice {0}. {1}'.format(pi.name, pi.remarks)
+ jv.exchange_rate = exchange_rate
# credit supplier
- jv.get("accounts")[0].account = pi.credit_to
- jv.get("accounts")[0].party_type = "Supplier"
- jv.get("accounts")[0].party = pi.supplier
- jv.get("accounts")[0].balance = get_balance_on(pi.credit_to)
- jv.get("accounts")[0].party_balance = get_balance_on(party=pi.supplier, party_type="Supplier")
- jv.get("accounts")[0].debit = pi.outstanding_amount
- jv.get("accounts")[0].reference_type = pi.doctype
- jv.get("accounts")[0].reference_name = pi.name
+ row1 = jv.get("accounts")[0]
+ row1.account = pi.credit_to
+ row1.account_currency = pi.party_account_currency
+ row1.party_type = "Supplier"
+ row1.party = pi.supplier
+ row1.balance = get_balance_on(pi.credit_to)
+ row1.party_balance = get_balance_on(party=pi.supplier, party_type="Supplier")
+ row1.debit_in_account_currency = pi.outstanding_amount
+ row1.reference_type = pi.doctype
+ row1.reference_name = pi.name
+ row1.exchange_rate = exchange_rate
+ row1.account_type = "Payable" if pi.supplier else ""
# credit bank
- jv.get("accounts")[1].credit = pi.outstanding_amount
+ row2 = jv.get("accounts")[1]
+ if row2.account_currency == pi.party_account_currency:
+ row2.credit_in_account_currency = pi.outstanding_amount
+ else:
+ row2.credit_in_account_currency = pi.outstanding_amount * exchange_rate
+
+ # set multi currency check
+ if row1.account_currency != pi.company_currency or row2.account_currency != pi.company_currency:
+ jv.multi_currency = 1
return jv.as_dict()
@@ -501,6 +590,7 @@
"""Returns new Journal Entry document as dict for given Sales Order"""
from erpnext.accounts.utils import get_balance_on
from erpnext.accounts.party import get_party_account
+
so = frappe.get_doc("Sales Order", sales_order)
if flt(so.per_billed, 2) != 0.0:
@@ -508,23 +598,42 @@
jv = get_payment_entry(so)
jv.remark = 'Advance payment received against Sales Order {0}.'.format(so.name)
- party_account = get_party_account(so.company, so.customer, "Customer")
- amount = flt(so.base_grand_total) - flt(so.advance_paid)
+ party_account = get_party_account(so.company, so.customer, "Customer")
+ party_account_currency = frappe.db.get_value("Account", party_account, "account_currency")
+
+ exchange_rate = get_exchange_rate(party_account, party_account_currency, so.company)
+
+ if party_account_currency == so.company_currency:
+ amount = flt(so.base_grand_total) - flt(so.advance_paid)
+ else:
+ amount = flt(so.grand_total) - flt(so.advance_paid)
# credit customer
- jv.get("accounts")[0].account = party_account
- jv.get("accounts")[0].party_type = "Customer"
- jv.get("accounts")[0].party = so.customer
- jv.get("accounts")[0].balance = get_balance_on(party_account)
- jv.get("accounts")[0].party_balance = get_balance_on(party=so.customer, party_type="Customer")
- jv.get("accounts")[0].credit = amount
- jv.get("accounts")[0].reference_type = so.doctype
- jv.get("accounts")[0].reference_name = so.name
- jv.get("accounts")[0].is_advance = "Yes"
+ row1 = jv.get("accounts")[0]
+ row1.account = party_account
+ row1.account_currency = party_account_currency
+ row1.party_type = "Customer"
+ row1.party = so.customer
+ row1.balance = get_balance_on(party_account)
+ row1.party_balance = get_balance_on(party=so.customer, party_type="Customer")
+ row1.credit_in_account_currency = amount
+ row1.reference_type = so.doctype
+ row1.reference_name = so.name
+ row1.is_advance = "Yes"
+ row1.exchange_rate = exchange_rate
+ row1.account_type = "Receivable"
# debit bank
- jv.get("accounts")[1].debit = amount
+ row2 = jv.get("accounts")[1]
+ if row2.account_currency == party_account_currency:
+ row2.debit_in_account_currency = amount
+ else:
+ row2.debit_in_account_currency = amount * exchange_rate
+
+ # set multi currency check
+ if row1.account_currency != so.company_currency or row2.account_currency != so.company_currency:
+ jv.multi_currency = 1
return jv.as_dict()
@@ -540,23 +649,41 @@
jv = get_payment_entry(po)
jv.remark = 'Advance payment made against Purchase Order {0}.'.format(po.name)
- party_account = get_party_account(po.company, po.supplier, "Supplier")
- amount = flt(po.base_grand_total) - flt(po.advance_paid)
+ party_account = get_party_account(po.company, po.supplier, "Supplier")
+ party_account_currency = frappe.db.get_value("Account", party_account, "account_currency")
+
+ exchange_rate = get_exchange_rate(party_account, party_account_currency, po.company)
+
+ if party_account_currency == po.company_currency:
+ amount = flt(po.base_grand_total) - flt(po.advance_paid)
+ else:
+ amount = flt(po.grand_total) - flt(po.advance_paid)
# credit customer
- jv.get("accounts")[0].account = party_account
- jv.get("accounts")[0].party_type = "Supplier"
- jv.get("accounts")[0].party = po.supplier
- jv.get("accounts")[0].balance = get_balance_on(party_account)
- jv.get("accounts")[0].party_balance = get_balance_on(party=po.supplier, party_type="Supplier")
- jv.get("accounts")[0].debit = amount
- jv.get("accounts")[0].reference_type = po.doctype
- jv.get("accounts")[0].reference_name = po.name
- jv.get("accounts")[0].is_advance = "Yes"
+ row1 = jv.get("accounts")[0]
+ row1.account = party_account
+ row1.party_type = "Supplier"
+ row1.party = po.supplier
+ row1.balance = get_balance_on(party_account)
+ row1.party_balance = get_balance_on(party=po.supplier, party_type="Supplier")
+ row1.debit_in_account_currency = amount
+ row1.reference_type = po.doctype
+ row1.reference_name = po.name
+ row1.is_advance = "Yes"
+ row1.exchange_rate = exchange_rate
+ row1.account_type = "Payable"
# debit bank
- jv.get("accounts")[1].credit = amount
+ row2 = jv.get("accounts")[1]
+ if row2.account_currency == party_account_currency:
+ row2.credit_in_account_currency = amount
+ else:
+ row2.credit_in_account_currency = amount * exchange_rate
+
+ # set multi currency check
+ if row1.account_currency != po.company_currency or row2.account_currency != po.company_currency:
+ jv.multi_currency = 1
return jv.as_dict()
@@ -574,6 +701,10 @@
if bank_account:
d2.account = bank_account["account"]
d2.balance = bank_account["balance"]
+ d2.account_currency = bank_account["account_currency"]
+ d2.account_type = bank_account["account_type"]
+ d2.exchange_rate = get_exchange_rate(bank_account["account"],
+ bank_account["account_currency"], doc.company)
return jv
@@ -599,27 +730,37 @@
if not frappe.has_permission("Account"):
frappe.msgprint(_("No Permission"), raise_exception=1)
args = eval(args)
+ company_currency = get_company_currency(args.get("company"))
+
if args.get("doctype") == "Journal Entry":
condition = " and party=%(party)s" if args.get("party") else ""
against_jv_amount = frappe.db.sql("""
- select sum(ifnull(debit, 0)) - sum(ifnull(credit, 0))
+ select sum(ifnull(debit_in_account_currency, 0)) - sum(ifnull(credit_in_account_currency, 0))
from `tabJournal Entry Account` where parent=%(docname)s and account=%(account)s {0}
and ifnull(reference_type, '')=''""".format(condition), args)
against_jv_amount = flt(against_jv_amount[0][0]) if against_jv_amount else 0
+ amount_field = "credit_in_account_currency" if against_jv_amount > 0 else "debit_in_account_currency"
return {
- ("credit" if against_jv_amount > 0 else "debit"): abs(against_jv_amount)
+ amount_field: abs(against_jv_amount)
}
- elif args.get("doctype") == "Sales Invoice":
- outstanding_amount = flt(frappe.db.get_value("Sales Invoice", args["docname"], "outstanding_amount"))
+ elif args.get("doctype") in ("Sales Invoice", "Purchase Invoice"):
+ invoice = frappe.db.get_value(args["doctype"], args["docname"],
+ ["outstanding_amount", "conversion_rate"], as_dict=1)
+
+ exchange_rate = invoice.conversion_rate if (args.get("account_currency") != company_currency) else 1
+
+ if args["doctype"] == "Sales Invoice":
+ amount_field = "credit_in_account_currency" \
+ if flt(invoice.outstanding_amount) > 0 else "debit_in_account_currency"
+ else:
+ amount_field = "debit_in_account_currency" \
+ if flt(invoice.outstanding_amount) > 0 else "credit_in_account_currency"
+
return {
- ("credit" if outstanding_amount > 0 else "debit"): abs(outstanding_amount)
- }
- elif args.get("doctype") == "Purchase Invoice":
- outstanding_amount = flt(frappe.db.get_value("Purchase Invoice", args["docname"], "outstanding_amount"))
- return {
- ("debit" if outstanding_amount > 0 else "credit"): abs(outstanding_amount)
+ amount_field: abs(flt(invoice.outstanding_amount)),
+ "exchange_rate": exchange_rate
}
@frappe.whitelist()
@@ -640,14 +781,58 @@
}
@frappe.whitelist()
-def get_account_balance_and_party_type(account, date):
+def get_account_balance_and_party_type(account, date, company, debit=None, credit=None, exchange_rate=None):
"""Returns dict of account balance and party type to be set in Journal Entry on selection of account."""
if not frappe.has_permission("Account"):
frappe.msgprint(_("No Permission"), raise_exception=1)
- account_type = frappe.db.get_value("Account", account, "account_type")
- return {
- "balance": get_balance_on(account, date),
- "party_type": {"Receivable":"Customer", "Payable":"Supplier"}.get(account_type, "")
- }
+ company_currency = get_company_currency(company)
+ account_details = frappe.db.get_value("Account", account, ["account_type", "account_currency"], as_dict=1)
+ if account_details.account_type == "Receivable":
+ party_type = "Customer"
+ elif account_details.account_type == "Payable":
+ party_type = "Supplier"
+ else:
+ party_type = ""
+
+ grid_values = {
+ "balance": get_balance_on(account, date),
+ "party_type": party_type,
+ "account_type": account_details.account_type,
+ "account_currency": account_details.account_currency or company_currency,
+ "exchange_rate": get_exchange_rate(account, account_details.account_currency,
+ company, debit=debit, credit=credit, exchange_rate=exchange_rate)
+ }
+ return grid_values
+
+@frappe.whitelist()
+def get_exchange_rate(account, account_currency, company,
+ reference_type=None, reference_name=None, debit=None, credit=None, exchange_rate=None):
+ from erpnext.setup.utils import get_exchange_rate
+ company_currency = get_company_currency(company)
+ account_details = frappe.db.get_value("Account", account, ["account_type", "root_type"], as_dict=1)
+
+ if account_currency != company_currency:
+ if reference_type in ("Sales Invoice", "Purchase Invoice") and reference_name:
+ exchange_rate = frappe.db.get_value(reference_type, reference_name, "conversion_rate")
+ elif account_details.account_type == "Bank" and \
+ ((account_details.root_type == "Asset" and flt(credit) > 0) or
+ (account_details.root_type == "Liability" and debit)):
+ exchange_rate = get_average_exchange_rate(account)
+
+ if not exchange_rate:
+ exchange_rate = get_exchange_rate(account_currency, company_currency)
+ else:
+ exchange_rate = 1
+
+ return exchange_rate
+
+def get_average_exchange_rate(account):
+ exchange_rate = 0
+ bank_balance_in_account_currency = get_balance_on(account)
+ if bank_balance_in_account_currency:
+ bank_balance_in_company_currency = get_balance_on(account, in_account_currency=False)
+ exchange_rate = bank_balance_in_company_currency / bank_balance_in_account_currency
+
+ return exchange_rate
diff --git a/erpnext/accounts/doctype/journal_entry/test_journal_entry.py b/erpnext/accounts/doctype/journal_entry/test_journal_entry.py
index 8995e34..753e012 100644
--- a/erpnext/accounts/doctype/journal_entry/test_journal_entry.py
+++ b/erpnext/accounts/doctype/journal_entry/test_journal_entry.py
@@ -101,7 +101,7 @@
self.set_total_expense_zero("2013-02-28")
jv = make_journal_entry("_Test Account Cost for Goods Sold - _TC",
- "_Test Account Bank Account - _TC", 40000, "_Test Cost Center - _TC", submit=True)
+ "_Test Bank - _TC", 40000, "_Test Cost Center - _TC", submit=True)
self.assertTrue(frappe.db.get_value("GL Entry",
{"voucher_type": "Journal Entry", "voucher_no": jv.name}))
@@ -112,7 +112,7 @@
self.set_total_expense_zero("2013-02-28")
jv = make_journal_entry("_Test Account Cost for Goods Sold - _TC",
- "_Test Account Bank Account - _TC", 40000, "_Test Cost Center - _TC")
+ "_Test Bank - _TC", 40000, "_Test Cost Center - _TC")
self.assertRaises(BudgetError, jv.submit)
@@ -126,7 +126,7 @@
self.set_total_expense_zero("2013-02-28")
jv = make_journal_entry("_Test Account Cost for Goods Sold - _TC",
- "_Test Account Bank Account - _TC", 150000, "_Test Cost Center - _TC")
+ "_Test Bank - _TC", 150000, "_Test Cost Center - _TC")
self.assertRaises(BudgetError, jv.submit)
@@ -136,13 +136,13 @@
self.set_total_expense_zero("2013-02-28")
jv1 = make_journal_entry("_Test Account Cost for Goods Sold - _TC",
- "_Test Account Bank Account - _TC", 20000, "_Test Cost Center - _TC", submit=True)
+ "_Test Bank - _TC", 20000, "_Test Cost Center - _TC", submit=True)
self.assertTrue(frappe.db.get_value("GL Entry",
{"voucher_type": "Journal Entry", "voucher_no": jv1.name}))
jv2 = make_journal_entry("_Test Account Cost for Goods Sold - _TC",
- "_Test Account Bank Account - _TC", 20000, "_Test Cost Center - _TC", submit=True)
+ "_Test Bank - _TC", 20000, "_Test Cost Center - _TC", submit=True)
self.assertTrue(frappe.db.get_value("GL Entry",
{"voucher_type": "Journal Entry", "voucher_no": jv2.name}))
@@ -165,32 +165,80 @@
def set_total_expense_zero(self, posting_date):
existing_expense = self.get_actual_expense(posting_date)
make_journal_entry("_Test Account Cost for Goods Sold - _TC",
- "_Test Account Bank Account - _TC", -existing_expense, "_Test Cost Center - _TC", submit=True)
+ "_Test Bank - _TC", -existing_expense, "_Test Cost Center - _TC", submit=True)
+
+ def test_multi_currency(self):
+ jv = make_journal_entry("_Test Bank USD - _TC",
+ "_Test Bank - _TC", 100, exchange_rate=50, save=False)
+
+ jv.get("accounts")[1].credit_in_account_currency = 5000
+ jv.submit()
+
+ gl_entries = frappe.db.sql("""select account, account_currency, debit, credit,
+ debit_in_account_currency, credit_in_account_currency
+ from `tabGL Entry` where voucher_type='Journal Entry' and voucher_no=%s
+ order by account asc""", jv.name, as_dict=1)
-def make_journal_entry(account1, account2, amount, cost_center=None, submit=False):
+ self.assertTrue(gl_entries)
+
+ expected_values = {
+ "_Test Bank USD - _TC": {
+ "account_currency": "USD",
+ "debit": 5000,
+ "debit_in_account_currency": 100,
+ "credit": 0,
+ "credit_in_account_currency": 0
+ },
+ "_Test Bank - _TC": {
+ "account_currency": "INR",
+ "debit": 0,
+ "debit_in_account_currency": 0,
+ "credit": 5000,
+ "credit_in_account_currency": 5000
+ }
+ }
+
+ for field in ("account_currency", "debit", "debit_in_account_currency", "credit", "credit_in_account_currency"):
+ for i, gle in enumerate(gl_entries):
+ self.assertEquals(expected_values[gle.account][field], gle[field])
+
+
+
+ # cancel
+ jv.cancel()
+
+ gle = frappe.db.sql("""select name from `tabGL Entry`
+ where voucher_type='Sales Invoice' and voucher_no=%s""", jv.name)
+
+ self.assertFalse(gle)
+
+def make_journal_entry(account1, account2, amount, cost_center=None, exchange_rate=1, save=True, submit=False):
jv = frappe.new_doc("Journal Entry")
jv.posting_date = "2013-02-14"
jv.company = "_Test Company"
jv.fiscal_year = "_Test Fiscal Year 2013"
jv.user_remark = "test"
-
+ jv.multi_currency = 1
jv.set("accounts", [
{
"account": account1,
"cost_center": cost_center,
- "debit": amount if amount > 0 else 0,
- "credit": abs(amount) if amount < 0 else 0,
+ "debit_in_account_currency": amount if amount > 0 else 0,
+ "credit_in_account_currency": abs(amount) if amount < 0 else 0,
+ "exchange_rate": exchange_rate
}, {
"account": account2,
"cost_center": cost_center,
- "credit": amount if amount > 0 else 0,
- "debit": abs(amount) if amount < 0 else 0,
+ "credit_in_account_currency": amount if amount > 0 else 0,
+ "debit_in_account_currency": abs(amount) if amount < 0 else 0,
+ exchange_rate: exchange_rate
}
])
- jv.insert()
+ if save or submit:
+ jv.insert()
- if submit:
- jv.submit()
+ if submit:
+ jv.submit()
return jv
diff --git a/erpnext/accounts/doctype/journal_entry/test_records.json b/erpnext/accounts/doctype/journal_entry/test_records.json
index f660863..5e25c3c 100644
--- a/erpnext/accounts/doctype/journal_entry/test_records.json
+++ b/erpnext/accounts/doctype/journal_entry/test_records.json
@@ -9,15 +9,15 @@
"account": "_Test Receivable - _TC",
"party_type": "Customer",
"party": "_Test Customer",
- "credit": 400.0,
- "debit": 0.0,
+ "credit_in_account_currency": 400.0,
+ "debit_in_account_currency": 0.0,
"doctype": "Journal Entry Account",
"parentfield": "accounts"
},
{
- "account": "_Test Account Bank Account - _TC",
- "credit": 0.0,
- "debit": 400.0,
+ "account": "_Test Bank - _TC",
+ "credit_in_account_currency": 0.0,
+ "debit_in_account_currency": 400.0,
"doctype": "Journal Entry Account",
"parentfield": "accounts"
}
@@ -40,15 +40,15 @@
"account": "_Test Payable - _TC",
"party_type": "Supplier",
"party": "_Test Supplier",
- "credit": 0.0,
- "debit": 400.0,
+ "credit_in_account_currency": 0.0,
+ "debit_in_account_currency": 400.0,
"doctype": "Journal Entry Account",
"parentfield": "accounts"
},
{
- "account": "_Test Account Bank Account - _TC",
- "credit": 400.0,
- "debit": 0.0,
+ "account": "_Test Bank - _TC",
+ "credit_in_account_currency": 400.0,
+ "debit_in_account_currency": 0.0,
"doctype": "Journal Entry Account",
"parentfield": "accounts"
}
@@ -71,16 +71,16 @@
"account": "_Test Receivable - _TC",
"party_type": "Customer",
"party": "_Test Customer",
- "credit": 0.0,
- "debit": 400.0,
+ "credit_in_account_currency": 0.0,
+ "debit_in_account_currency": 400.0,
"doctype": "Journal Entry Account",
"parentfield": "accounts"
},
{
"account": "Sales - _TC",
"cost_center": "_Test Cost Center - _TC",
- "credit": 400.0,
- "debit": 0.0,
+ "credit_in_account_currency": 400.0,
+ "debit_in_account_currency": 0.0,
"doctype": "Journal Entry Account",
"parentfield": "accounts"
}
diff --git a/erpnext/accounts/doctype/journal_entry_account/journal_entry_account.json b/erpnext/accounts/doctype/journal_entry_account/journal_entry_account.json
index f63722d..51e1342 100644
--- a/erpnext/accounts/doctype/journal_entry_account/journal_entry_account.json
+++ b/erpnext/accounts/doctype/journal_entry_account/journal_entry_account.json
@@ -1,416 +1,574 @@
{
- "allow_copy": 0,
- "allow_import": 0,
- "allow_rename": 0,
- "autoname": "hash",
- "creation": "2013-02-22 01:27:39",
- "custom": 0,
- "docstatus": 0,
- "doctype": "DocType",
+ "allow_copy": 0,
+ "allow_import": 0,
+ "allow_rename": 0,
+ "autoname": "hash",
+ "creation": "2013-02-22 01:27:39",
+ "custom": 0,
+ "docstatus": 0,
+ "doctype": "DocType",
"fields": [
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "account",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 1,
- "in_list_view": 1,
- "label": "Account",
- "no_copy": 0,
- "oldfieldname": "account",
- "oldfieldtype": "Link",
- "options": "Account",
- "permlevel": 0,
- "print_hide": 0,
- "print_width": "250px",
- "read_only": 0,
- "report_hide": 0,
- "reqd": 1,
- "search_index": 1,
- "set_only_once": 0,
- "unique": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "account",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 1,
+ "in_list_view": 1,
+ "label": "Account",
+ "no_copy": 0,
+ "oldfieldname": "account",
+ "oldfieldtype": "Link",
+ "options": "Account",
+ "permlevel": 0,
+ "print_hide": 0,
+ "print_width": "250px",
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 1,
+ "search_index": 1,
+ "set_only_once": 0,
+ "unique": 0,
"width": "250px"
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "balance",
- "fieldtype": "Currency",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Account Balance",
- "no_copy": 1,
- "oldfieldname": "balance",
- "oldfieldtype": "Data",
- "options": "Company:company:default_currency",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "account_type",
+ "fieldtype": "Data",
+ "hidden": 1,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Account Type",
+ "no_copy": 0,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "default": ":Company",
- "description": "If Income or Expense",
- "fieldname": "cost_center",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 1,
- "in_list_view": 0,
- "label": "Cost Center",
- "no_copy": 0,
- "oldfieldname": "cost_center",
- "oldfieldtype": "Link",
- "options": "Cost Center",
- "permlevel": 0,
- "print_hide": 1,
- "print_width": "180px",
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "unique": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "balance",
+ "fieldtype": "Currency",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Account Balance",
+ "no_copy": 1,
+ "oldfieldname": "balance",
+ "oldfieldtype": "Data",
+ "options": "account_currency",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "default": ":Company",
+ "description": "If Income or Expense",
+ "fieldname": "cost_center",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 1,
+ "in_list_view": 0,
+ "label": "Cost Center",
+ "no_copy": 0,
+ "oldfieldname": "cost_center",
+ "oldfieldtype": "Link",
+ "options": "Cost Center",
+ "permlevel": 0,
+ "print_hide": 1,
+ "print_width": "180px",
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0,
"width": "180px"
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "col_break1",
- "fieldtype": "Column Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "no_copy": 0,
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "col_break1",
+ "fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "party_type",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Party Type",
- "no_copy": 0,
- "options": "DocType",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "party_type",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Party Type",
+ "no_copy": 0,
+ "options": "DocType",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "party",
- "fieldtype": "Dynamic Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 1,
- "label": "Party",
- "no_copy": 0,
- "options": "party_type",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "party",
+ "fieldtype": "Dynamic Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 1,
+ "label": "Party",
+ "no_copy": 0,
+ "options": "party_type",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "party_balance",
- "fieldtype": "Currency",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Party Balance",
- "no_copy": 0,
- "options": "Company:company:default_currency",
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "party_balance",
+ "fieldtype": "Currency",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Party Balance",
+ "no_copy": 0,
+ "options": "account_currency",
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "sec_break1",
- "fieldtype": "Section Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Amount",
- "no_copy": 0,
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "collapsible_depends_on": "",
+ "depends_on": "",
+ "fieldname": "currency_section",
+ "fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Currency",
+ "no_copy": 0,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "debit",
- "fieldtype": "Currency",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 1,
- "label": "Debit",
- "no_copy": 0,
- "oldfieldname": "debit",
- "oldfieldtype": "Currency",
- "options": "Company:company:default_currency",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "account_currency",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Account Currency",
+ "no_copy": 1,
+ "options": "Currency",
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 1,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "col_break2",
- "fieldtype": "Column Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "no_copy": 0,
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "column_break_10",
+ "fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "credit",
- "fieldtype": "Currency",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 1,
- "label": "Credit",
- "no_copy": 0,
- "oldfieldname": "credit",
- "oldfieldtype": "Currency",
- "options": "Company:company:default_currency",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "exchange_rate",
+ "fieldtype": "Float",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Exchange Rate",
+ "no_copy": 0,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "reference",
- "fieldtype": "Section Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Reference",
- "no_copy": 0,
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "sec_break1",
+ "fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Amount",
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "reference_type",
- "fieldtype": "Select",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Reference Type",
- "no_copy": 0,
- "options": "\nSales Invoice\nPurchase Invoice\nJournal Entry\nSales Order\nPurchase Order\nExpense Claim",
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "debit_in_account_currency",
+ "fieldtype": "Currency",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 1,
+ "label": "Debit in Account Currency",
+ "no_copy": 0,
+ "options": "account_currency",
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "reference_name",
- "fieldtype": "Dynamic Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 1,
- "label": "Reference Name",
- "no_copy": 0,
- "options": "reference_type",
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "debit",
+ "fieldtype": "Currency",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Debit in Company Currency",
+ "no_copy": 1,
+ "oldfieldname": "debit",
+ "oldfieldtype": "Currency",
+ "options": "Company:company:default_currency",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "col_break3",
- "fieldtype": "Column Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "no_copy": 0,
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "col_break2",
+ "fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "is_advance",
- "fieldtype": "Select",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Is Advance",
- "no_copy": 1,
- "oldfieldname": "is_advance",
- "oldfieldtype": "Select",
- "options": "No\nYes",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "credit_in_account_currency",
+ "fieldtype": "Currency",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 1,
+ "label": "Credit in Account Currency",
+ "no_copy": 0,
+ "options": "account_currency",
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "against_account",
- "fieldtype": "Text",
- "hidden": 1,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Against Account",
- "no_copy": 1,
- "oldfieldname": "against_account",
- "oldfieldtype": "Text",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "credit",
+ "fieldtype": "Currency",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Credit in Company Currency",
+ "no_copy": 1,
+ "oldfieldname": "credit",
+ "oldfieldtype": "Currency",
+ "options": "Company:company:default_currency",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "reference",
+ "fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Reference",
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "reference_type",
+ "fieldtype": "Select",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Reference Type",
+ "no_copy": 0,
+ "options": "\nSales Invoice\nPurchase Invoice\nJournal Entry\nSales Order\nPurchase Order\nExpense Claim",
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "reference_name",
+ "fieldtype": "Dynamic Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 1,
+ "label": "Reference Name",
+ "no_copy": 0,
+ "options": "reference_type",
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "col_break3",
+ "fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "is_advance",
+ "fieldtype": "Select",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Is Advance",
+ "no_copy": 1,
+ "oldfieldname": "is_advance",
+ "oldfieldtype": "Select",
+ "options": "No\nYes",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "against_account",
+ "fieldtype": "Text",
+ "hidden": 1,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Against Account",
+ "no_copy": 1,
+ "oldfieldname": "against_account",
+ "oldfieldtype": "Text",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
}
- ],
- "hide_heading": 0,
- "hide_toolbar": 0,
- "idx": 1,
- "in_create": 0,
- "in_dialog": 0,
- "is_submittable": 0,
- "issingle": 0,
- "istable": 1,
- "modified": "2015-08-17 02:11:33.991361",
- "modified_by": "Administrator",
- "module": "Accounts",
- "name": "Journal Entry Account",
- "owner": "Administrator",
- "permissions": [],
- "read_only": 0,
+ ],
+ "hide_heading": 0,
+ "hide_toolbar": 0,
+ "idx": 1,
+ "in_create": 0,
+ "in_dialog": 0,
+ "is_submittable": 0,
+ "issingle": 0,
+ "istable": 1,
+ "modified": "2015-09-11 12:55:59.270539",
+ "modified_by": "Administrator",
+ "module": "Accounts",
+ "name": "Journal Entry Account",
+ "owner": "Administrator",
+ "permissions": [],
+ "read_only": 0,
"read_only_onload": 0
-}
\ No newline at end of file
+}
diff --git a/erpnext/accounts/doctype/mode_of_payment/mode_of_payment.json b/erpnext/accounts/doctype/mode_of_payment/mode_of_payment.json
index 1600205..706b226 100644
--- a/erpnext/accounts/doctype/mode_of_payment/mode_of_payment.json
+++ b/erpnext/accounts/doctype/mode_of_payment/mode_of_payment.json
@@ -7,7 +7,7 @@
"custom": 0,
"docstatus": 0,
"doctype": "DocType",
- "document_type": "Master",
+ "document_type": "Setup",
"fields": [
{
"allow_on_submit": 0,
@@ -65,7 +65,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
- "modified": "2015-09-07 15:51:26",
+ "modified": "2015-09-14 02:55:58.003800",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Mode of Payment",
diff --git a/erpnext/accounts/doctype/mode_of_payment/test_mode_of_payment.py b/erpnext/accounts/doctype/mode_of_payment/test_mode_of_payment.py
new file mode 100644
index 0000000..ad6cd47
--- /dev/null
+++ b/erpnext/accounts/doctype/mode_of_payment/test_mode_of_payment.py
@@ -0,0 +1,12 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
+# See license.txt
+from __future__ import unicode_literals
+
+import frappe
+import unittest
+
+# test_records = frappe.get_test_records('Mode of Payment')
+
+class TestModeofPayment(unittest.TestCase):
+ pass
diff --git a/erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.py b/erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.py
index b283c8f..09bd7d2 100644
--- a/erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.py
+++ b/erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.py
@@ -79,6 +79,7 @@
`tabGL Entry`
where
party_type = %(party_type)s and party = %(party)s
+ and voucher_type != "Journal Entry"
and account = %(account)s and {dr_or_cr} > 0 {cond}
group by voucher_type, voucher_no
""".format(**{
diff --git a/erpnext/accounts/doctype/payment_tool/payment_tool.js b/erpnext/accounts/doctype/payment_tool/payment_tool.js
index 6eefdb9..0b4fb2d 100644
--- a/erpnext/accounts/doctype/payment_tool/payment_tool.js
+++ b/erpnext/accounts/doctype/payment_tool/payment_tool.js
@@ -25,8 +25,14 @@
});
frm.set_query("against_voucher_type", "vouchers", function() {
+ if (frm.doc.party_type=="Customer") {
+ var doctypes = ["Sales Order", "Sales Invoice", "Journal Entry"];
+ } else {
+ var doctypes = ["Purchase Order", "Purchase Invoice", "Journal Entry"];
+ }
+
return {
- filters: {"name": ["in", ["Sales Invoice", "Purchase Invoice", "Journal Entry", "Sales Order", "Purchase Order"]]}
+ filters: { "name": ["in", doctypes] }
};
});
});
@@ -55,6 +61,25 @@
}
})
+frappe.ui.form.on("Payment Tool", "party_account", function(frm) {
+ if(frm.doc.party_account) {
+ frm.call({
+ method: "frappe.client.get_value",
+ args: {
+ doctype: "Account",
+ fieldname: "account_currency",
+ filters: { name: frm.doc.party_account },
+ },
+ callback: function(r, rt) {
+ if(r.message) {
+ frm.set_value("party_account_currency", r.message.account_currency);
+ erpnext.payment_tool.check_mandatory_to_set_button(frm);
+ }
+ }
+ });
+ }
+})
+
frappe.ui.form.on("Payment Tool", "company", function(frm) {
erpnext.payment_tool.check_mandatory_to_set_button(frm);
});
@@ -63,10 +88,6 @@
erpnext.payment_tool.check_mandatory_to_set_button(frm);
});
-frappe.ui.form.on("Payment Tool", "party", function(frm) {
- erpnext.payment_tool.check_mandatory_to_set_button(frm);
-});
-
// Fetch bank/cash account based on payment mode
frappe.ui.form.on("Payment Tool", "payment_mode", function(frm) {
return frappe.call({
@@ -75,7 +96,7 @@
"mode_of_payment": frm.doc.payment_mode,
"company": frm.doc.company
},
- callback: function(r, rt) {
+ callback: function(r, rt) {
if(r.message) {
cur_frm.set_value("payment_account", r.message['account']);
}
@@ -120,6 +141,7 @@
c.against_voucher_no = d.voucher_no;
c.total_amount = d.invoice_amount;
c.outstanding_amount = d.outstanding_amount;
+ c.payment_amount = d.outstanding_amount;
});
}
refresh_field("vouchers");
@@ -130,41 +152,63 @@
});
// validate against_voucher_type
-frappe.ui.form.on("Payment Tool Detail", "against_voucher_type", function(frm) {
- erpnext.payment_tool.validate_against_voucher(frm);
+frappe.ui.form.on("Payment Tool Detail", "against_voucher_type", function(frm, cdt, cdn) {
+ var row = frappe.model.get_doc(cdt, cdn);
+ erpnext.payment_tool.validate_against_voucher(frm, row);
});
-erpnext.payment_tool.validate_against_voucher = function(frm) {
- $.each(frm.doc.vouchers || [], function(i, row) {
+erpnext.payment_tool.validate_against_voucher = function(frm, row) {
+ var _validate = function(i, row) {
+ if (!row.against_voucher_type) {
+ return;
+ }
+
if(frm.doc.party_type=="Customer"
&& !in_list(["Sales Order", "Sales Invoice", "Journal Entry"], row.against_voucher_type)) {
frappe.model.set_value(row.doctype, row.name, "against_voucher_type", "");
- frappe.throw(__("Against Voucher Type must be one of Sales Order, Sales Invoice or Journal Entry"))
+ frappe.msgprint(__("Against Voucher Type must be one of Sales Order, Sales Invoice or Journal Entry"));
+ return false;
}
if(frm.doc.party_type=="Supplier"
&& !in_list(["Purchase Order", "Purchase Invoice", "Journal Entry"], row.against_voucher_type)) {
frappe.model.set_value(row.doctype, row.name, "against_voucher_type", "");
- frappe.throw(__("Against Voucher Type must be one of Purchase Order, Purchase Invoice or Journal Entry"))
+ frappe.msgprint(__("Against Voucher Type must be one of Purchase Order, Purchase Invoice or Journal Entry"));
+ return false;
}
- });
+ }
+
+ if (row) {
+ _validate(0, row);
+ } else {
+ $.each(frm.doc.vouchers || [], _validate);
+ }
+
}
// validate against_voucher_type
frappe.ui.form.on("Payment Tool Detail", "against_voucher_no", function(frm, cdt, cdn) {
var row = locals[cdt][cdn];
+ if (!row.against_voucher_no) {
+ return;
+ }
+
frappe.call({
method: 'erpnext.accounts.doctype.payment_tool.payment_tool.get_against_voucher_amount',
args: {
"against_voucher_type": row.against_voucher_type,
- "against_voucher_no": row.against_voucher_no
+ "against_voucher_no": row.against_voucher_no,
+ "party_account": frm.doc.party_account,
+ "company": frm.doc.company
},
callback: function(r) {
if(!r.exc) {
$.each(r.message, function(k, v) {
frappe.model.set_value(cdt, cdn, k, v);
});
+
+ frappe.model.set_value(cdt, cdn, "payment_amount", r.message.outstanding_amount);
}
}
});
@@ -187,7 +231,7 @@
} else {
if(row.payment_amount < 0)
msgprint(__("Row {0}: Payment amount can not be negative", [row.idx]));
- else if(row.payment_amount >= row.outstanding_amount)
+ else if(row.payment_amount > row.outstanding_amount)
msgprint(__("Row {0}: Payment Amount cannot be greater than Outstanding Amount", [__(row.idx)]));
frappe.model.set_value(row.doctype, row.name, "payment_amount", 0.0);
diff --git a/erpnext/accounts/doctype/payment_tool/payment_tool.json b/erpnext/accounts/doctype/payment_tool/payment_tool.json
index e00d9e2..55e7048 100644
--- a/erpnext/accounts/doctype/payment_tool/payment_tool.json
+++ b/erpnext/accounts/doctype/payment_tool/payment_tool.json
@@ -106,7 +106,7 @@
"ignore_user_permissions": 0,
"in_filter": 0,
"in_list_view": 0,
- "label": "Column Break 1",
+ "label": "",
"no_copy": 0,
"permlevel": 0,
"print_hide": 0,
@@ -166,6 +166,29 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
+ "fieldname": "party_account_currency",
+ "fieldtype": "Link",
+ "hidden": 1,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Party Account Currency",
+ "no_copy": 1,
+ "options": "Currency",
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
"fieldname": "get_outstanding_vouchers",
"fieldtype": "Button",
"hidden": 0,
@@ -306,6 +329,7 @@
"in_list_view": 0,
"label": "Total Payment Amount",
"no_copy": 0,
+ "options": "party_account_currency",
"permlevel": 0,
"print_hide": 0,
"read_only": 1,
@@ -450,7 +474,7 @@
"is_submittable": 0,
"issingle": 1,
"istable": 0,
- "modified": "2015-06-05 11:17:33.843334",
+ "modified": "2015-08-31 18:58:21.813054",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Payment Tool",
diff --git a/erpnext/accounts/doctype/payment_tool/payment_tool.py b/erpnext/accounts/doctype/payment_tool/payment_tool.py
index 4edbebd..eedf69f 100644
--- a/erpnext/accounts/doctype/payment_tool/payment_tool.py
+++ b/erpnext/accounts/doctype/payment_tool/payment_tool.py
@@ -3,7 +3,7 @@
from __future__ import unicode_literals
import frappe
-from frappe import _
+from frappe import _, scrub
from frappe.utils import flt
from frappe.model.document import Document
import json
@@ -33,15 +33,18 @@
d1.party_type = self.party_type
d1.party = self.party
d1.balance = get_balance_on(self.party_account)
- d1.set("debit" if self.received_or_paid=="Paid" else "credit", flt(v.payment_amount))
+ d1.set("debit_in_account_currency" if self.received_or_paid=="Paid" \
+ else "credit_in_account_currency", flt(v.payment_amount))
d1.set("reference_type", v.against_voucher_type)
d1.set("reference_name", v.against_voucher_no)
d1.set('is_advance', 'Yes' if v.against_voucher_type in ['Sales Order', 'Purchase Order'] else 'No')
- total_payment_amount = flt(total_payment_amount) + flt(d1.debit) - flt(d1.credit)
+ total_payment_amount = flt(total_payment_amount) + \
+ flt(d1.debit_in_account_currency) - flt(d1.credit_in_account_currency)
d2 = jv.append("accounts")
d2.account = self.payment_account
- d2.set('debit' if total_payment_amount < 0 else 'credit', abs(total_payment_amount))
+ d2.set('debit_in_account_currency' if total_payment_amount < 0 \
+ else 'credit_in_account_currency', abs(total_payment_amount))
if self.payment_account:
d2.balance = get_balance_on(self.payment_account)
@@ -56,39 +59,49 @@
args = json.loads(args)
+ party_account_currency = frappe.db.get_value("Account", args.get("party_account"), "account_currency")
+ company_currency = frappe.db.get_value("Company", args.get("company"), "default_currency")
+
if args.get("party_type") == "Customer" and args.get("received_or_paid") == "Received":
- amount_query = "ifnull(debit, 0) - ifnull(credit, 0)"
+ amount_query = "ifnull(debit_in_account_currency, 0) - ifnull(credit_in_account_currency, 0)"
elif args.get("party_type") == "Supplier" and args.get("received_or_paid") == "Paid":
- amount_query = "ifnull(credit, 0) - ifnull(debit, 0)"
+ amount_query = "ifnull(credit_in_account_currency, 0) - ifnull(debit_in_account_currency, 0)"
else:
frappe.throw(_("Please enter the Against Vouchers manually"))
# Get all outstanding sales /purchase invoices
outstanding_invoices = get_outstanding_invoices(amount_query, args.get("party_account"),
- args.get("party_type"), args.get("party"))
+ args.get("party_type"), args.get("party"), with_journal_entry=False)
# Get all SO / PO which are not fully billed or aginst which full advance not paid
- orders_to_be_billed = get_orders_to_be_billed(args.get("party_type"), args.get("party"))
+ orders_to_be_billed = get_orders_to_be_billed(args.get("party_type"), args.get("party"),
+ party_account_currency, company_currency)
return outstanding_invoices + orders_to_be_billed
-def get_orders_to_be_billed(party_type, party):
+def get_orders_to_be_billed(party_type, party, party_account_currency, company_currency):
voucher_type = 'Sales Order' if party_type == "Customer" else 'Purchase Order'
+
+ ref_field = "base_grand_total" if party_account_currency == company_currency else "grand_total"
+
orders = frappe.db.sql("""
select
name as voucher_no,
- ifnull(base_grand_total, 0) as invoice_amount,
- (ifnull(base_grand_total, 0) - ifnull(advance_paid, 0)) as outstanding_amount,
+ ifnull({ref_field}, 0) as invoice_amount,
+ (ifnull({ref_field}, 0) - ifnull(advance_paid, 0)) as outstanding_amount,
transaction_date as posting_date
from
- `tab%s`
+ `tab{voucher_type}`
where
- %s = %s
+ {party_type} = %s
and docstatus = 1
and ifnull(status, "") != "Stopped"
- and ifnull(base_grand_total, 0) > ifnull(advance_paid, 0)
+ and ifnull({ref_field}, 0) > ifnull(advance_paid, 0)
and abs(100 - ifnull(per_billed, 0)) > 0.01
- """ % (voucher_type, 'customer' if party_type == "Customer" else 'supplier', '%s'),
- party, as_dict = True)
+ """.format(**{
+ "ref_field": ref_field,
+ "voucher_type": voucher_type,
+ "party_type": scrub(party_type)
+ }), party, as_dict = True)
order_list = []
for d in orders:
@@ -98,13 +111,19 @@
return order_list
@frappe.whitelist()
-def get_against_voucher_amount(against_voucher_type, against_voucher_no):
+def get_against_voucher_amount(against_voucher_type, against_voucher_no, party_account, company):
+ party_account_currency = frappe.db.get_value("Account", party_account, "account_currency")
+ company_currency = frappe.db.get_value("Company", company, "default_currency")
+ ref_field = "base_grand_total" if party_account_currency == company_currency else "grand_total"
+
if against_voucher_type in ["Sales Order", "Purchase Order"]:
- select_cond = "base_grand_total as total_amount, ifnull(base_grand_total, 0) - ifnull(advance_paid, 0) as outstanding_amount"
+ select_cond = "{0} as total_amount, ifnull({0}, 0) - ifnull(advance_paid, 0) as outstanding_amount"\
+ .format(ref_field)
elif against_voucher_type in ["Sales Invoice", "Purchase Invoice"]:
- select_cond = "base_grand_total as total_amount, outstanding_amount"
+ select_cond = "{0} as total_amount, outstanding_amount".format(ref_field)
elif against_voucher_type == "Journal Entry":
- select_cond = "total_debit as total_amount"
+ ref_field = "total_debit" if party_account_currency == company_currency else "total_debit/exchange_rate"
+ select_cond = "{0} as total_amount".format(ref_field)
details = frappe.db.sql("""select {0} from `tab{1}` where name = %s"""
.format(select_cond, against_voucher_type), against_voucher_no, as_dict=1)
diff --git a/erpnext/accounts/doctype/payment_tool/test_payment_tool.py b/erpnext/accounts/doctype/payment_tool/test_payment_tool.py
index 321986c..4f1c9e9 100644
--- a/erpnext/accounts/doctype/payment_tool/test_payment_tool.py
+++ b/erpnext/accounts/doctype/payment_tool/test_payment_tool.py
@@ -39,7 +39,7 @@
"party": "_Test Customer 3",
"reference_type": "Sales Order",
"reference_name": so2.name,
- "credit": 1000,
+ "credit_in_account_currency": 1000,
"is_advance": "Yes"
})
@@ -67,7 +67,7 @@
"party": "_Test Customer 3",
"reference_type": si2.doctype,
"reference_name": si2.name,
- "credit": 561.80
+ "credit_in_account_currency": 561.80
})
pi = self.create_voucher(pi_test_records[0], {
@@ -91,7 +91,7 @@
"party": "_Test Customer 3",
"party_account": "_Test Receivable - _TC",
"payment_mode": "Cheque",
- "payment_account": "_Test Account Bank Account - _TC",
+ "payment_account": "_Test Bank - _TC",
"reference_no": "123456",
"reference_date": "2013-02-14"
}
@@ -117,10 +117,10 @@
def create_against_jv(self, test_record, args):
jv = frappe.copy_doc(test_record)
jv.get("accounts")[0].update(args)
- if args.get("debit"):
- jv.get("accounts")[1].credit = args["debit"]
- elif args.get("credit"):
- jv.get("accounts")[1].debit = args["credit"]
+ if args.get("debit_in_account_currency"):
+ jv.get("accounts")[1].credit_in_account_currency = args["debit_in_account_currency"]
+ elif args.get("credit_in_account_currency"):
+ jv.get("accounts")[1].debit_in_account_currency = args["credit_in_account_currency"]
jv.insert()
jv.submit()
@@ -141,7 +141,8 @@
outstanding_entries = get_outstanding_vouchers(json.dumps(args))
for d in outstanding_entries:
- self.assertEquals(flt(d.get("outstanding_amount"), 2), expected_outstanding.get(d.get("voucher_type"))[1])
+ self.assertEquals(flt(d.get("outstanding_amount"), 2),
+ expected_outstanding.get(d.get("voucher_type"))[1])
self.check_jv_entries(doc, outstanding_entries, expected_outstanding)
@@ -156,11 +157,10 @@
paytool.total_payment_amount = 300
new_jv = paytool.make_journal_entry()
-
for jv_entry in new_jv.get("accounts"):
if paytool.party_account == jv_entry.get("account") and paytool.party == jv_entry.get("party"):
- self.assertEquals(100.00,
- jv_entry.get("debit" if paytool.party_type=="Supplier" else "credit"))
+ self.assertEquals(100.00, jv_entry.get("debit_in_account_currency"
+ if paytool.party_type=="Supplier" else "credit_in_account_currency"))
self.assertEquals(jv_entry.reference_name,
expected_outstanding[jv_entry.reference_type][0])
@@ -170,4 +170,6 @@
def clear_table_entries(self):
frappe.db.sql("""delete from `tabGL Entry` where party in ("_Test Customer 3", "_Test Supplier 1")""")
frappe.db.sql("""delete from `tabSales Order` where customer = "_Test Customer 3" """)
+ frappe.db.sql("""delete from `tabSales Invoice` where customer = "_Test Customer 3" """)
frappe.db.sql("""delete from `tabPurchase Order` where supplier = "_Test Supplier 1" """)
+ frappe.db.sql("""delete from `tabPurchase Invoice` where supplier = "_Test Supplier 1" """)
diff --git a/erpnext/accounts/doctype/payment_tool_detail/payment_tool_detail.json b/erpnext/accounts/doctype/payment_tool_detail/payment_tool_detail.json
index 5221f35..7e14608 100644
--- a/erpnext/accounts/doctype/payment_tool_detail/payment_tool_detail.json
+++ b/erpnext/accounts/doctype/payment_tool_detail/payment_tool_detail.json
@@ -87,6 +87,7 @@
"in_list_view": 1,
"label": "Total Amount",
"no_copy": 0,
+ "options": "party_account_currency",
"permlevel": 0,
"print_hide": 0,
"read_only": 1,
@@ -108,6 +109,7 @@
"in_list_view": 1,
"label": "Outstanding Amount",
"no_copy": 0,
+ "options": "party_account_currency",
"permlevel": 0,
"print_hide": 0,
"read_only": 1,
@@ -129,6 +131,7 @@
"in_list_view": 1,
"label": "Payment Amount",
"no_copy": 0,
+ "options": "party_account_currency",
"permlevel": 0,
"print_hide": 0,
"read_only": 0,
@@ -146,7 +149,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 1,
- "modified": "2014-09-11 08:55:34.384017",
+ "modified": "2015-08-31 18:58:35.537060",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Payment Tool Detail",
diff --git a/erpnext/accounts/doctype/period_closing_voucher/test_period_closing_voucher.py b/erpnext/accounts/doctype/period_closing_voucher/test_period_closing_voucher.py
index afff47f..0b59746 100644
--- a/erpnext/accounts/doctype/period_closing_voucher/test_period_closing_voucher.py
+++ b/erpnext/accounts/doctype/period_closing_voucher/test_period_closing_voucher.py
@@ -10,11 +10,11 @@
class TestPeriodClosingVoucher(unittest.TestCase):
def test_closing_entry(self):
- make_journal_entry("_Test Account Bank Account - _TC", "Sales - _TC", 400,
+ make_journal_entry("_Test Bank - _TC", "Sales - _TC", 400,
"_Test Cost Center - _TC", submit=True)
make_journal_entry("_Test Account Cost for Goods Sold - _TC",
- "_Test Account Bank Account - _TC", 600, "_Test Cost Center - _TC", submit=True)
+ "_Test Bank - _TC", 600, "_Test Cost Center - _TC", submit=True)
profit_or_loss = frappe.db.sql("""select sum(ifnull(t1.debit,0))-sum(ifnull(t1.credit,0)) as balance
from `tabGL Entry` t1, `tabAccount` t2
diff --git a/erpnext/accounts/doctype/pricing_rule/pricing_rule.json b/erpnext/accounts/doctype/pricing_rule/pricing_rule.json
index ed3b2d1..be027ad 100644
--- a/erpnext/accounts/doctype/pricing_rule/pricing_rule.json
+++ b/erpnext/accounts/doctype/pricing_rule/pricing_rule.json
@@ -41,7 +41,7 @@
"in_filter": 0,
"in_list_view": 0,
"label": "Title",
- "no_copy": 0,
+ "no_copy": 1,
"permlevel": 0,
"precision": "",
"print_hide": 0,
@@ -851,7 +851,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
- "modified": "2015-08-13 14:58:29.194326",
+ "modified": "2015-09-11 12:19:52.242771",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Pricing Rule",
diff --git a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js
index 70ebee1..2e3794a 100644
--- a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js
+++ b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js
@@ -75,8 +75,29 @@
me.apply_pricing_rule();
})
},
+
+ credit_to: function() {
+ var me = this;
+ if(this.frm.doc.credit_to) {
+ me.frm.call({
+ method: "frappe.client.get_value",
+ args: {
+ doctype: "Account",
+ fieldname: "account_currency",
+ filters: { name: me.frm.doc.credit_to },
+ },
+ callback: function(r, rt) {
+ if(r.message) {
+ me.frm.set_value("party_account_currency", r.message.account_currency);
+ me.set_dynamic_labels();
+ }
+ }
+ });
+ }
+ },
write_off_amount: function() {
+ this.set_in_company_currency(this.frm.doc, ["write_off_amount"]);
this.calculate_outstanding_amount();
this.frm.refresh_fields();
},
diff --git a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json
index 8d47dd2..25ac8ff 100755
--- a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json
+++ b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json
@@ -1,2311 +1,2378 @@
{
- "allow_copy": 0,
- "allow_import": 1,
- "allow_rename": 0,
- "autoname": "naming_series:",
- "creation": "2013-05-21 16:16:39",
- "custom": 0,
- "docstatus": 0,
- "doctype": "DocType",
+ "allow_copy": 0,
+ "allow_import": 1,
+ "allow_rename": 0,
+ "autoname": "naming_series:",
+ "creation": "2013-05-21 16:16:39",
+ "custom": 0,
+ "docstatus": 0,
+ "doctype": "DocType",
"fields": [
{
- "allow_on_submit": 1,
- "bold": 0,
- "collapsible": 0,
- "default": "{supplier_name}",
- "fieldname": "title",
- "fieldtype": "Data",
- "hidden": 1,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Title",
- "no_copy": 0,
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 1,
+ "bold": 0,
+ "collapsible": 0,
+ "default": "{supplier_name}",
+ "fieldname": "title",
+ "fieldtype": "Data",
+ "hidden": 1,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Title",
+ "no_copy": 1,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "naming_series",
- "fieldtype": "Select",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Series",
- "no_copy": 1,
- "oldfieldname": "naming_series",
- "oldfieldtype": "Select",
- "options": "PINV-\nPINV-RET-",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 1,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "naming_series",
+ "fieldtype": "Select",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Series",
+ "no_copy": 1,
+ "oldfieldname": "naming_series",
+ "oldfieldtype": "Select",
+ "options": "PINV-\nPINV-RET-",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 1,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "supplier",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Supplier",
- "no_copy": 0,
- "oldfieldname": "supplier",
- "oldfieldtype": "Link",
- "options": "Supplier",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 1,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "supplier",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Supplier",
+ "no_copy": 0,
+ "oldfieldname": "supplier",
+ "oldfieldtype": "Link",
+ "options": "Supplier",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 1,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "depends_on": "supplier",
- "fieldname": "supplier_name",
- "fieldtype": "Data",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Supplier Name",
- "no_copy": 0,
- "oldfieldname": "supplier_name",
- "oldfieldtype": "Data",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "depends_on": "supplier",
+ "fieldname": "supplier_name",
+ "fieldtype": "Data",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Supplier Name",
+ "no_copy": 0,
+ "oldfieldname": "supplier_name",
+ "oldfieldtype": "Data",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "address_display",
- "fieldtype": "Small Text",
- "hidden": 1,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Address",
- "no_copy": 0,
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "address_display",
+ "fieldtype": "Small Text",
+ "hidden": 1,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Address",
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "contact_display",
- "fieldtype": "Small Text",
- "hidden": 1,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Contact",
- "no_copy": 0,
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "contact_display",
+ "fieldtype": "Small Text",
+ "hidden": 1,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Contact",
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "contact_mobile",
- "fieldtype": "Small Text",
- "hidden": 1,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Mobile No",
- "no_copy": 0,
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "contact_mobile",
+ "fieldtype": "Small Text",
+ "hidden": 1,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Mobile No",
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "contact_email",
- "fieldtype": "Small Text",
- "hidden": 1,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Contact Email",
- "no_copy": 0,
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "contact_email",
+ "fieldtype": "Small Text",
+ "hidden": 1,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Contact Email",
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "column_break1",
- "fieldtype": "Column Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "no_copy": 0,
- "oldfieldtype": "Column Break",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "unique": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "column_break1",
+ "fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
+ "oldfieldtype": "Column Break",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0,
"width": "50%"
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "default": "Today",
- "fieldname": "posting_date",
- "fieldtype": "Date",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 1,
- "in_list_view": 0,
- "label": "Date",
- "no_copy": 0,
- "oldfieldname": "posting_date",
- "oldfieldtype": "Date",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 1,
- "search_index": 1,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "default": "Today",
+ "fieldname": "posting_date",
+ "fieldtype": "Date",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 1,
+ "in_list_view": 0,
+ "label": "Date",
+ "no_copy": 0,
+ "oldfieldname": "posting_date",
+ "oldfieldtype": "Date",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 1,
+ "search_index": 1,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "description": "",
- "fieldname": "bill_no",
- "fieldtype": "Data",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 1,
- "in_list_view": 0,
- "label": "Supplier Invoice No",
- "no_copy": 0,
- "oldfieldname": "bill_no",
- "oldfieldtype": "Data",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "description": "",
+ "fieldname": "bill_no",
+ "fieldtype": "Data",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 1,
+ "in_list_view": 0,
+ "label": "Supplier Invoice No",
+ "no_copy": 0,
+ "oldfieldname": "bill_no",
+ "oldfieldtype": "Data",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "bill_date",
- "fieldtype": "Date",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 1,
- "in_list_view": 0,
- "label": "Supplier Invoice Date",
- "no_copy": 0,
- "oldfieldname": "bill_date",
- "oldfieldtype": "Date",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "bill_date",
+ "fieldtype": "Date",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 1,
+ "in_list_view": 0,
+ "label": "Supplier Invoice Date",
+ "no_copy": 0,
+ "oldfieldname": "bill_date",
+ "oldfieldtype": "Date",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "amended_from",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 1,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Amended From",
- "no_copy": 1,
- "oldfieldname": "amended_from",
- "oldfieldtype": "Link",
- "options": "Purchase Invoice",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "amended_from",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 1,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Amended From",
+ "no_copy": 1,
+ "oldfieldname": "amended_from",
+ "oldfieldtype": "Link",
+ "options": "Purchase Invoice",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "company",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 1,
- "in_list_view": 0,
- "label": "Company",
- "no_copy": 0,
- "oldfieldname": "company",
- "oldfieldtype": "Link",
- "options": "Company",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "company",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 1,
+ "in_list_view": 0,
+ "label": "Company",
+ "no_copy": 0,
+ "oldfieldname": "company",
+ "oldfieldtype": "Link",
+ "options": "Company",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "is_return",
- "fieldtype": "Check",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Is Return",
- "no_copy": 0,
- "permlevel": 0,
- "precision": "",
- "print_hide": 1,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "is_return",
+ "fieldtype": "Check",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Is Return",
+ "no_copy": 0,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 1,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "depends_on": "is_return",
- "fieldname": "return_against",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Return Against Purchase Invoice",
- "no_copy": 0,
- "options": "Purchase Invoice",
- "permlevel": 0,
- "precision": "",
- "print_hide": 1,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "depends_on": "is_return",
+ "fieldname": "return_against",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Return Against Purchase Invoice",
+ "no_copy": 0,
+ "options": "Purchase Invoice",
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 1,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 1,
- "fieldname": "currency_and_price_list",
- "fieldtype": "Section Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Currency and Price List",
- "no_copy": 0,
- "options": "icon-tag",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 1,
+ "fieldname": "currency_and_price_list",
+ "fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Currency and Price List",
+ "no_copy": 0,
+ "options": "icon-tag",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "currency",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Currency",
- "no_copy": 0,
- "oldfieldname": "currency",
- "oldfieldtype": "Select",
- "options": "Currency",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "currency",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Currency",
+ "no_copy": 0,
+ "oldfieldname": "currency",
+ "oldfieldtype": "Select",
+ "options": "Currency",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "description": "",
- "fieldname": "conversion_rate",
- "fieldtype": "Float",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Exchange Rate",
- "no_copy": 0,
- "oldfieldname": "conversion_rate",
- "oldfieldtype": "Currency",
- "permlevel": 0,
- "precision": "9",
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "description": "",
+ "fieldname": "conversion_rate",
+ "fieldtype": "Float",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Exchange Rate",
+ "no_copy": 0,
+ "oldfieldname": "conversion_rate",
+ "oldfieldtype": "Currency",
+ "permlevel": 0,
+ "precision": "9",
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "column_break2",
- "fieldtype": "Column Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "no_copy": 0,
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "column_break2",
+ "fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "buying_price_list",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Price List",
- "no_copy": 0,
- "options": "Price List",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "buying_price_list",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Price List",
+ "no_copy": 0,
+ "options": "Price List",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "price_list_currency",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Price List Currency",
- "no_copy": 0,
- "options": "Currency",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "price_list_currency",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Price List Currency",
+ "no_copy": 0,
+ "options": "Currency",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "plc_conversion_rate",
- "fieldtype": "Float",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Price List Exchange Rate",
- "no_copy": 0,
- "permlevel": 0,
- "precision": "9",
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "plc_conversion_rate",
+ "fieldtype": "Float",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Price List Exchange Rate",
+ "no_copy": 0,
+ "permlevel": 0,
+ "precision": "9",
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "ignore_pricing_rule",
- "fieldtype": "Check",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Ignore Pricing Rule",
- "no_copy": 1,
- "permlevel": 1,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "ignore_pricing_rule",
+ "fieldtype": "Check",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Ignore Pricing Rule",
+ "no_copy": 1,
+ "permlevel": 1,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "items_section",
- "fieldtype": "Section Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "",
- "no_copy": 0,
- "oldfieldtype": "Section Break",
- "options": "icon-shopping-cart",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "items_section",
+ "fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "",
+ "no_copy": 0,
+ "oldfieldtype": "Section Break",
+ "options": "icon-shopping-cart",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 1,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "items",
- "fieldtype": "Table",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Items",
- "no_copy": 0,
- "oldfieldname": "entries",
- "oldfieldtype": "Table",
- "options": "Purchase Invoice Item",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 1,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "items",
+ "fieldtype": "Table",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Items",
+ "no_copy": 0,
+ "oldfieldname": "entries",
+ "oldfieldtype": "Table",
+ "options": "Purchase Invoice Item",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "section_break_26",
- "fieldtype": "Section Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "no_copy": 0,
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "section_break_26",
+ "fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "base_total",
- "fieldtype": "Currency",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Total (Company Currency)",
- "no_copy": 0,
- "options": "Company:company:default_currency",
- "permlevel": 0,
- "precision": "",
- "print_hide": 1,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "base_total",
+ "fieldtype": "Currency",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Total (Company Currency)",
+ "no_copy": 0,
+ "options": "Company:company:default_currency",
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 1,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "description": "",
- "fieldname": "base_net_total",
- "fieldtype": "Currency",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Net Total (Company Currency)",
- "no_copy": 0,
- "oldfieldname": "net_total",
- "oldfieldtype": "Currency",
- "options": "Company:company:default_currency",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "description": "",
+ "fieldname": "base_net_total",
+ "fieldtype": "Currency",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Net Total (Company Currency)",
+ "no_copy": 0,
+ "oldfieldname": "net_total",
+ "oldfieldtype": "Currency",
+ "options": "Company:company:default_currency",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "column_break_28",
- "fieldtype": "Column Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "no_copy": 0,
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "column_break_28",
+ "fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "total",
- "fieldtype": "Currency",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Total",
- "no_copy": 0,
- "options": "currency",
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "total",
+ "fieldtype": "Currency",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Total",
+ "no_copy": 0,
+ "options": "currency",
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "net_total",
- "fieldtype": "Currency",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Net Total",
- "no_copy": 0,
- "oldfieldname": "net_total_import",
- "oldfieldtype": "Currency",
- "options": "currency",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "net_total",
+ "fieldtype": "Currency",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Net Total",
+ "no_copy": 0,
+ "oldfieldname": "net_total_import",
+ "oldfieldtype": "Currency",
+ "options": "currency",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "taxes_section",
- "fieldtype": "Section Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "",
- "no_copy": 0,
- "oldfieldtype": "Section Break",
- "options": "icon-money",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "taxes_section",
+ "fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "",
+ "no_copy": 0,
+ "oldfieldtype": "Section Break",
+ "options": "icon-money",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "taxes_and_charges",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Taxes and Charges",
- "no_copy": 0,
- "oldfieldname": "purchase_other_charges",
- "oldfieldtype": "Link",
- "options": "Purchase Taxes and Charges Template",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "taxes_and_charges",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Taxes and Charges",
+ "no_copy": 0,
+ "oldfieldname": "purchase_other_charges",
+ "oldfieldtype": "Link",
+ "options": "Purchase Taxes and Charges Template",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "taxes",
- "fieldtype": "Table",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Purchase Taxes and Charges",
- "no_copy": 0,
- "oldfieldname": "purchase_tax_details",
- "oldfieldtype": "Table",
- "options": "Purchase Taxes and Charges",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "taxes",
+ "fieldtype": "Table",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Purchase Taxes and Charges",
+ "no_copy": 0,
+ "oldfieldname": "purchase_tax_details",
+ "oldfieldtype": "Table",
+ "options": "Purchase Taxes and Charges",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "other_charges_calculation",
- "fieldtype": "HTML",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Taxes and Charges Calculation",
- "no_copy": 0,
- "oldfieldtype": "HTML",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "other_charges_calculation",
+ "fieldtype": "HTML",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Taxes and Charges Calculation",
+ "no_copy": 0,
+ "oldfieldtype": "HTML",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "totals",
- "fieldtype": "Section Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "",
- "no_copy": 0,
- "oldfieldtype": "Section Break",
- "options": "icon-money",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "totals",
+ "fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "",
+ "no_copy": 0,
+ "oldfieldtype": "Section Break",
+ "options": "icon-money",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "base_taxes_and_charges_added",
- "fieldtype": "Currency",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Taxes and Charges Added (Company Currency)",
- "no_copy": 0,
- "oldfieldname": "other_charges_added",
- "oldfieldtype": "Currency",
- "options": "Company:company:default_currency",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "base_taxes_and_charges_added",
+ "fieldtype": "Currency",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Taxes and Charges Added (Company Currency)",
+ "no_copy": 0,
+ "oldfieldname": "other_charges_added",
+ "oldfieldtype": "Currency",
+ "options": "Company:company:default_currency",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "base_taxes_and_charges_deducted",
- "fieldtype": "Currency",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Taxes and Charges Deducted (Company Currency)",
- "no_copy": 0,
- "oldfieldname": "other_charges_deducted",
- "oldfieldtype": "Currency",
- "options": "Company:company:default_currency",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "base_taxes_and_charges_deducted",
+ "fieldtype": "Currency",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Taxes and Charges Deducted (Company Currency)",
+ "no_copy": 0,
+ "oldfieldname": "other_charges_deducted",
+ "oldfieldtype": "Currency",
+ "options": "Company:company:default_currency",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "base_total_taxes_and_charges",
- "fieldtype": "Currency",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Total Taxes and Charges (Company Currency)",
- "no_copy": 0,
- "oldfieldname": "total_tax",
- "oldfieldtype": "Currency",
- "options": "Company:company:default_currency",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "base_total_taxes_and_charges",
+ "fieldtype": "Currency",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Total Taxes and Charges (Company Currency)",
+ "no_copy": 0,
+ "oldfieldname": "total_tax",
+ "oldfieldtype": "Currency",
+ "options": "Company:company:default_currency",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "column_break_40",
- "fieldtype": "Column Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "no_copy": 0,
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "column_break_40",
+ "fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "taxes_and_charges_added",
- "fieldtype": "Currency",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Taxes and Charges Added",
- "no_copy": 0,
- "oldfieldname": "other_charges_added_import",
- "oldfieldtype": "Currency",
- "options": "currency",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "taxes_and_charges_added",
+ "fieldtype": "Currency",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Taxes and Charges Added",
+ "no_copy": 0,
+ "oldfieldname": "other_charges_added_import",
+ "oldfieldtype": "Currency",
+ "options": "currency",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "taxes_and_charges_deducted",
- "fieldtype": "Currency",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Taxes and Charges Deducted",
- "no_copy": 0,
- "oldfieldname": "other_charges_deducted_import",
- "oldfieldtype": "Currency",
- "options": "currency",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "taxes_and_charges_deducted",
+ "fieldtype": "Currency",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Taxes and Charges Deducted",
+ "no_copy": 0,
+ "oldfieldname": "other_charges_deducted_import",
+ "oldfieldtype": "Currency",
+ "options": "currency",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "total_taxes_and_charges",
- "fieldtype": "Currency",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Total Taxes and Charges",
- "no_copy": 0,
- "options": "currency",
- "permlevel": 0,
- "precision": "",
- "print_hide": 1,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "total_taxes_and_charges",
+ "fieldtype": "Currency",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Total Taxes and Charges",
+ "no_copy": 0,
+ "options": "currency",
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 1,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 1,
- "collapsible_depends_on": "discount_amount",
- "fieldname": "section_break_44",
- "fieldtype": "Section Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Additional Discount",
- "no_copy": 0,
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 1,
+ "collapsible_depends_on": "discount_amount",
+ "fieldname": "section_break_44",
+ "fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Additional Discount",
+ "no_copy": 0,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "default": "Grand Total",
- "fieldname": "apply_discount_on",
- "fieldtype": "Select",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Apply Additional Discount On",
- "no_copy": 0,
- "options": "\nGrand Total\nNet Total",
- "permlevel": 0,
- "precision": "",
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "default": "Grand Total",
+ "fieldname": "apply_discount_on",
+ "fieldtype": "Select",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Apply Additional Discount On",
+ "no_copy": 0,
+ "options": "\nGrand Total\nNet Total",
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "column_break_46",
- "fieldtype": "Column Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "no_copy": 0,
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "column_break_46",
+ "fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "discount_amount",
- "fieldtype": "Currency",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Additional Discount Amount",
- "no_copy": 0,
- "options": "currency",
- "permlevel": 0,
- "precision": "",
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "discount_amount",
+ "fieldtype": "Currency",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Additional Discount Amount",
+ "no_copy": 0,
+ "options": "currency",
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "base_discount_amount",
- "fieldtype": "Currency",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Additional Discount Amount (Company Currency)",
- "no_copy": 0,
- "options": "Company:company:default_currency",
- "permlevel": 0,
- "precision": "",
- "print_hide": 1,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "base_discount_amount",
+ "fieldtype": "Currency",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Additional Discount Amount (Company Currency)",
+ "no_copy": 0,
+ "options": "Company:company:default_currency",
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 1,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "section_break_49",
- "fieldtype": "Section Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "no_copy": 0,
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "section_break_49",
+ "fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "base_grand_total",
- "fieldtype": "Currency",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Grand Total (Company Currency)",
- "no_copy": 0,
- "oldfieldname": "grand_total",
- "oldfieldtype": "Currency",
- "options": "Company:company:default_currency",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "base_grand_total",
+ "fieldtype": "Currency",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Grand Total (Company Currency)",
+ "no_copy": 0,
+ "oldfieldname": "grand_total",
+ "oldfieldtype": "Currency",
+ "options": "Company:company:default_currency",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "description": "",
- "fieldname": "base_in_words",
- "fieldtype": "Data",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "In Words (Company Currency)",
- "no_copy": 0,
- "oldfieldname": "in_words",
- "oldfieldtype": "Data",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "description": "",
+ "fieldname": "base_in_words",
+ "fieldtype": "Data",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "In Words (Company Currency)",
+ "no_copy": 0,
+ "oldfieldname": "in_words",
+ "oldfieldtype": "Data",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "column_break8",
- "fieldtype": "Column Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "no_copy": 0,
- "oldfieldtype": "Column Break",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "unique": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "column_break8",
+ "fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
+ "oldfieldtype": "Column Break",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0,
"width": "50%"
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "grand_total",
- "fieldtype": "Currency",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 1,
- "label": "Grand Total",
- "no_copy": 0,
- "oldfieldname": "grand_total_import",
- "oldfieldtype": "Currency",
- "options": "currency",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "grand_total",
+ "fieldtype": "Currency",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 1,
+ "label": "Grand Total",
+ "no_copy": 0,
+ "oldfieldname": "grand_total_import",
+ "oldfieldtype": "Currency",
+ "options": "currency",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "in_words",
- "fieldtype": "Data",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "In Words",
- "no_copy": 0,
- "oldfieldname": "in_words_import",
- "oldfieldtype": "Data",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "in_words",
+ "fieldtype": "Data",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "In Words",
+ "no_copy": 0,
+ "oldfieldname": "in_words_import",
+ "oldfieldtype": "Data",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "total_amount_to_pay",
- "fieldtype": "Currency",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Total Amount To Pay",
- "no_copy": 1,
- "oldfieldname": "total_amount_to_pay",
- "oldfieldtype": "Currency",
- "options": "Company:company:default_currency",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "total_advance",
+ "fieldtype": "Currency",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Total Advance",
+ "no_copy": 1,
+ "oldfieldname": "total_advance",
+ "oldfieldtype": "Currency",
+ "options": "party_account_currency",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "total_advance",
- "fieldtype": "Currency",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Total Advance",
- "no_copy": 1,
- "oldfieldname": "total_advance",
- "oldfieldtype": "Currency",
- "options": "Company:company:default_currency",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "outstanding_amount",
+ "fieldtype": "Currency",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 1,
+ "in_list_view": 0,
+ "label": "Outstanding Amount",
+ "no_copy": 1,
+ "oldfieldname": "outstanding_amount",
+ "oldfieldtype": "Currency",
+ "options": "party_account_currency",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "outstanding_amount",
- "fieldtype": "Currency",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 1,
- "in_list_view": 0,
- "label": "Outstanding Amount",
- "no_copy": 1,
- "oldfieldname": "outstanding_amount",
- "oldfieldtype": "Currency",
- "options": "Company:company:default_currency",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 1,
+ "collapsible_depends_on": "write_off_amount",
+ "depends_on": "grand_total",
+ "fieldname": "write_off",
+ "fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Write Off",
+ "no_copy": 0,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "write_off_amount",
- "fieldtype": "Currency",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Write Off Amount",
- "no_copy": 1,
- "options": "Company:company:default_currency",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "write_off_amount",
+ "fieldtype": "Currency",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Write Off Amount",
+ "no_copy": 1,
+ "options": "currency",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "depends_on": "eval:flt(doc.write_off_amount)!=0",
- "fieldname": "write_off_account",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Write Off Account",
- "no_copy": 1,
- "options": "Account",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "base_write_off_amount",
+ "fieldtype": "Currency",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Write Off Amount (Company Currency)",
+ "no_copy": 1,
+ "options": "Company:company:default_currency",
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 1,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "depends_on": "eval:flt(doc.write_off_amount)!=0",
- "fieldname": "write_off_cost_center",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Write Off Cost Center",
- "no_copy": 1,
- "options": "Cost Center",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "column_break_61",
+ "fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "against_expense_account",
- "fieldtype": "Small Text",
- "hidden": 1,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Against Expense Account",
- "no_copy": 1,
- "oldfieldname": "against_expense_account",
- "oldfieldtype": "Small Text",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "depends_on": "eval:flt(doc.write_off_amount)!=0",
+ "fieldname": "write_off_account",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Write Off Account",
+ "no_copy": 1,
+ "options": "Account",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 1,
- "collapsible_depends_on": "advances",
- "fieldname": "advances_section",
- "fieldtype": "Section Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Advance Payments",
- "no_copy": 0,
- "oldfieldtype": "Section Break",
- "options": "icon-money",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "depends_on": "eval:flt(doc.write_off_amount)!=0",
+ "fieldname": "write_off_cost_center",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Write Off Cost Center",
+ "no_copy": 1,
+ "options": "Cost Center",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "get_advances_paid",
- "fieldtype": "Button",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Get Advances Paid",
- "no_copy": 0,
- "oldfieldtype": "Button",
- "options": "get_advances",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 1,
+ "collapsible_depends_on": "advances",
+ "fieldname": "advances_section",
+ "fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Advance Payments",
+ "no_copy": 0,
+ "oldfieldtype": "Section Break",
+ "options": "icon-money",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "advances",
- "fieldtype": "Table",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Advances",
- "no_copy": 1,
- "oldfieldname": "advance_allocation_details",
- "oldfieldtype": "Table",
- "options": "Purchase Invoice Advance",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "get_advances_paid",
+ "fieldtype": "Button",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Get Advances Paid",
+ "no_copy": 0,
+ "oldfieldtype": "Button",
+ "options": "get_advances",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 1,
- "collapsible_depends_on": "terms",
- "fieldname": "terms_section_break",
- "fieldtype": "Section Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Terms and Conditions",
- "no_copy": 0,
- "options": "icon-legal",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "advances",
+ "fieldtype": "Table",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Advances",
+ "no_copy": 1,
+ "oldfieldname": "advance_allocation_details",
+ "oldfieldtype": "Table",
+ "options": "Purchase Invoice Advance",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "tc_name",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Terms",
- "no_copy": 0,
- "options": "Terms and Conditions",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 1,
+ "collapsible_depends_on": "terms",
+ "fieldname": "terms_section_break",
+ "fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Terms and Conditions",
+ "no_copy": 0,
+ "options": "icon-legal",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "terms",
- "fieldtype": "Text Editor",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Terms and Conditions1",
- "no_copy": 0,
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "tc_name",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Terms",
+ "no_copy": 0,
+ "options": "Terms and Conditions",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 1,
- "depends_on": "supplier",
- "fieldname": "contact_section",
- "fieldtype": "Section Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Contact Details",
- "no_copy": 0,
- "options": "icon-bullhorn",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "terms",
+ "fieldtype": "Text Editor",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Terms and Conditions1",
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "supplier_address",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Supplier Address",
- "no_copy": 0,
- "options": "Address",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 1,
+ "depends_on": "supplier",
+ "fieldname": "contact_section",
+ "fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Contact Details",
+ "no_copy": 0,
+ "options": "icon-bullhorn",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "col_break23",
- "fieldtype": "Column Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "no_copy": 0,
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "unique": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "supplier_address",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Supplier Address",
+ "no_copy": 0,
+ "options": "Address",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "col_break23",
+ "fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0,
"width": "50%"
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "contact_person",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Contact Person",
- "no_copy": 0,
- "options": "Contact",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "contact_person",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Contact Person",
+ "no_copy": 0,
+ "options": "Contact",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 1,
- "fieldname": "printing_settings",
- "fieldtype": "Section Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Printing Settings",
- "no_copy": 0,
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 1,
+ "fieldname": "printing_settings",
+ "fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Printing Settings",
+ "no_copy": 0,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 1,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "select_print_heading",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Print Heading",
- "no_copy": 1,
- "oldfieldname": "select_print_heading",
- "oldfieldtype": "Link",
- "options": "Print Heading",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 1,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 1,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "select_print_heading",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Print Heading",
+ "no_copy": 1,
+ "oldfieldname": "select_print_heading",
+ "oldfieldtype": "Link",
+ "options": "Print Heading",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 1,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 1,
- "fieldname": "more_info",
- "fieldtype": "Section Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "More Information",
- "no_copy": 0,
- "oldfieldtype": "Section Break",
- "options": "icon-file-text",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 1,
+ "fieldname": "more_info",
+ "fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "More Information",
+ "no_copy": 0,
+ "oldfieldtype": "Section Break",
+ "options": "icon-file-text",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "description": "",
- "fieldname": "credit_to",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 1,
- "in_list_view": 0,
- "label": "Credit To",
- "no_copy": 0,
- "oldfieldname": "credit_to",
- "oldfieldtype": "Link",
- "options": "Account",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 1,
- "search_index": 1,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "description": "",
+ "fieldname": "credit_to",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 1,
+ "in_list_view": 0,
+ "label": "Credit To",
+ "no_copy": 0,
+ "oldfieldname": "credit_to",
+ "oldfieldtype": "Link",
+ "options": "Account",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 1,
+ "search_index": 1,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "default": "No",
- "description": "",
- "fieldname": "is_opening",
- "fieldtype": "Select",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 1,
- "in_list_view": 0,
- "label": "Is Opening",
- "no_copy": 0,
- "oldfieldname": "is_opening",
- "oldfieldtype": "Select",
- "options": "No\nYes",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "party_account_currency",
+ "fieldtype": "Link",
+ "hidden": 1,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Party Account Currency",
+ "no_copy": 1,
+ "options": "Currency",
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 1,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "due_date",
- "fieldtype": "Date",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 1,
- "in_list_view": 0,
- "label": "Due Date",
- "no_copy": 0,
- "oldfieldname": "due_date",
- "oldfieldtype": "Date",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "default": "No",
+ "description": "",
+ "fieldname": "is_opening",
+ "fieldtype": "Select",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 1,
+ "in_list_view": 0,
+ "label": "Is Opening",
+ "no_copy": 0,
+ "oldfieldname": "is_opening",
+ "oldfieldtype": "Select",
+ "options": "No\nYes",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "column_break_63",
- "fieldtype": "Column Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "no_copy": 0,
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "due_date",
+ "fieldtype": "Date",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 1,
+ "in_list_view": 0,
+ "label": "Due Date",
+ "no_copy": 0,
+ "oldfieldname": "due_date",
+ "oldfieldtype": "Date",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "mode_of_payment",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Mode of Payment",
- "no_copy": 0,
- "oldfieldname": "mode_of_payment",
- "oldfieldtype": "Select",
- "options": "Mode of Payment",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "against_expense_account",
+ "fieldtype": "Small Text",
+ "hidden": 1,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Against Expense Account",
+ "no_copy": 1,
+ "oldfieldname": "against_expense_account",
+ "oldfieldtype": "Small Text",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "fiscal_year",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 1,
- "in_list_view": 0,
- "label": "Fiscal Year",
- "no_copy": 0,
- "oldfieldname": "fiscal_year",
- "oldfieldtype": "Select",
- "options": "Fiscal Year",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "column_break_63",
+ "fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "remarks",
- "fieldtype": "Small Text",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Remarks",
- "no_copy": 1,
- "oldfieldname": "remarks",
- "oldfieldtype": "Text",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "mode_of_payment",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Mode of Payment",
+ "no_copy": 0,
+ "oldfieldname": "mode_of_payment",
+ "oldfieldtype": "Select",
+ "options": "Mode of Payment",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 1,
- "collapsible_depends_on": "is_recurring",
- "depends_on": "eval:doc.docstatus<2",
- "fieldname": "recurring_invoice",
- "fieldtype": "Section Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Recurring Invoice",
- "no_copy": 0,
- "options": "icon-time",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "fiscal_year",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 1,
+ "in_list_view": 0,
+ "label": "Fiscal Year",
+ "no_copy": 0,
+ "oldfieldname": "fiscal_year",
+ "oldfieldtype": "Select",
+ "options": "Fiscal Year",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 1,
- "bold": 0,
- "collapsible": 0,
- "depends_on": "eval:doc.docstatus<2",
- "description": "",
- "fieldname": "is_recurring",
- "fieldtype": "Check",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Is Recurring",
- "no_copy": 1,
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "remarks",
+ "fieldtype": "Small Text",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Remarks",
+ "no_copy": 1,
+ "oldfieldname": "remarks",
+ "oldfieldtype": "Text",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 1,
- "bold": 0,
- "collapsible": 0,
- "depends_on": "eval:doc.is_recurring==1",
- "description": "Select the period when the invoice will be generated automatically",
- "fieldname": "recurring_type",
- "fieldtype": "Select",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Recurring Type",
- "no_copy": 1,
- "options": "Monthly\nQuarterly\nHalf-yearly\nYearly",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 1,
+ "collapsible_depends_on": "is_recurring",
+ "depends_on": "eval:doc.docstatus<2",
+ "fieldname": "recurring_invoice",
+ "fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Recurring Invoice",
+ "no_copy": 0,
+ "options": "icon-time",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 1,
- "bold": 0,
- "collapsible": 0,
- "depends_on": "eval:doc.is_recurring==1",
- "description": "Start date of current invoice's period",
- "fieldname": "from_date",
- "fieldtype": "Date",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "From Date",
- "no_copy": 1,
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 1,
+ "bold": 0,
+ "collapsible": 0,
+ "depends_on": "eval:doc.docstatus<2",
+ "description": "",
+ "fieldname": "is_recurring",
+ "fieldtype": "Check",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Is Recurring",
+ "no_copy": 1,
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 1,
- "bold": 0,
- "collapsible": 0,
- "depends_on": "eval:doc.is_recurring==1",
- "description": "End date of current invoice's period",
- "fieldname": "to_date",
- "fieldtype": "Date",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "To Date",
- "no_copy": 1,
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 1,
+ "bold": 0,
+ "collapsible": 0,
+ "depends_on": "eval:doc.is_recurring==1",
+ "description": "Select the period when the invoice will be generated automatically",
+ "fieldname": "recurring_type",
+ "fieldtype": "Select",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Recurring Type",
+ "no_copy": 1,
+ "options": "Monthly\nQuarterly\nHalf-yearly\nYearly",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 1,
- "bold": 0,
- "collapsible": 0,
- "depends_on": "eval:doc.is_recurring==1",
- "description": "The day of the month on which auto invoice will be generated e.g. 05, 28 etc",
- "fieldname": "repeat_on_day_of_month",
- "fieldtype": "Int",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Repeat on Day of Month",
- "no_copy": 1,
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 1,
+ "bold": 0,
+ "collapsible": 0,
+ "depends_on": "eval:doc.is_recurring==1",
+ "description": "Start date of current invoice's period",
+ "fieldname": "from_date",
+ "fieldtype": "Date",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "From Date",
+ "no_copy": 1,
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 1,
- "bold": 0,
- "collapsible": 0,
- "depends_on": "eval:doc.is_recurring==1",
- "description": "The date on which recurring invoice will be stop",
- "fieldname": "end_date",
- "fieldtype": "Date",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "End Date",
- "no_copy": 1,
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 1,
+ "bold": 0,
+ "collapsible": 0,
+ "depends_on": "eval:doc.is_recurring==1",
+ "description": "End date of current invoice's period",
+ "fieldname": "to_date",
+ "fieldtype": "Date",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "To Date",
+ "no_copy": 1,
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "column_break_82",
- "fieldtype": "Column Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "no_copy": 0,
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "unique": 0,
+ "allow_on_submit": 1,
+ "bold": 0,
+ "collapsible": 0,
+ "depends_on": "eval:doc.is_recurring==1",
+ "description": "The day of the month on which auto invoice will be generated e.g. 05, 28 etc",
+ "fieldname": "repeat_on_day_of_month",
+ "fieldtype": "Int",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Repeat on Day of Month",
+ "no_copy": 1,
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 1,
+ "bold": 0,
+ "collapsible": 0,
+ "depends_on": "eval:doc.is_recurring==1",
+ "description": "The date on which recurring invoice will be stop",
+ "fieldname": "end_date",
+ "fieldtype": "Date",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "End Date",
+ "no_copy": 1,
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "column_break_82",
+ "fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0,
"width": "50%"
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "depends_on": "eval:doc.is_recurring==1",
- "description": "The date on which next invoice will be generated. It is generated on submit.",
- "fieldname": "next_date",
- "fieldtype": "Date",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Next Date",
- "no_copy": 1,
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "depends_on": "eval:doc.is_recurring==1",
+ "description": "The date on which next invoice will be generated. It is generated on submit.",
+ "fieldname": "next_date",
+ "fieldtype": "Date",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Next Date",
+ "no_copy": 1,
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "depends_on": "eval:doc.is_recurring==1",
- "description": "The unique id for tracking all recurring invoices. It is generated on submit.",
- "fieldname": "recurring_id",
- "fieldtype": "Data",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Recurring Id",
- "no_copy": 1,
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "depends_on": "eval:doc.is_recurring==1",
+ "description": "The unique id for tracking all recurring invoices. It is generated on submit.",
+ "fieldname": "recurring_id",
+ "fieldtype": "Data",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Recurring Id",
+ "no_copy": 1,
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 1,
- "bold": 0,
- "collapsible": 0,
- "depends_on": "eval:doc.is_recurring==1",
- "description": "Enter email id separated by commas, invoice will be mailed automatically on particular date",
- "fieldname": "notification_email_address",
- "fieldtype": "Small Text",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Notification Email Address",
- "no_copy": 1,
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 1,
+ "bold": 0,
+ "collapsible": 0,
+ "depends_on": "eval:doc.is_recurring==1",
+ "description": "Enter email id separated by commas, invoice will be mailed automatically on particular date",
+ "fieldname": "notification_email_address",
+ "fieldtype": "Small Text",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Notification Email Address",
+ "no_copy": 1,
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "depends_on": "eval:doc.is_recurring==1",
- "fieldname": "recurring_print_format",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Recurring Print Format",
- "no_copy": 0,
- "options": "Print Format",
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "depends_on": "eval:doc.is_recurring==1",
+ "fieldname": "recurring_print_format",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Recurring Print Format",
+ "no_copy": 0,
+ "options": "Print Format",
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
}
- ],
- "hide_heading": 0,
- "hide_toolbar": 0,
- "icon": "icon-file-text",
- "idx": 1,
- "in_create": 0,
- "in_dialog": 0,
- "is_submittable": 1,
- "issingle": 0,
- "istable": 0,
- "modified": "2015-09-07 15:51:26",
- "modified_by": "Administrator",
- "module": "Accounts",
- "name": "Purchase Invoice",
- "owner": "Administrator",
+ ],
+ "hide_heading": 0,
+ "hide_toolbar": 0,
+ "icon": "icon-file-text",
+ "idx": 1,
+ "in_create": 0,
+ "in_dialog": 0,
+ "is_submittable": 1,
+ "issingle": 0,
+ "istable": 0,
+ "modified": "2015-09-11 12:21:39.803805",
+ "modified_by": "Administrator",
+ "module": "Accounts",
+ "name": "Purchase Invoice",
+ "owner": "Administrator",
"permissions": [
{
- "amend": 1,
- "apply_user_permissions": 0,
- "cancel": 1,
- "create": 1,
- "delete": 0,
- "email": 1,
- "export": 0,
- "if_owner": 0,
- "import": 0,
- "permlevel": 0,
- "print": 1,
- "read": 1,
- "report": 1,
- "role": "Accounts User",
- "set_user_permissions": 0,
- "share": 1,
- "submit": 1,
+ "amend": 1,
+ "apply_user_permissions": 0,
+ "cancel": 1,
+ "create": 1,
+ "delete": 0,
+ "email": 1,
+ "export": 0,
+ "if_owner": 0,
+ "import": 0,
+ "permlevel": 0,
+ "print": 1,
+ "read": 1,
+ "report": 1,
+ "role": "Accounts User",
+ "set_user_permissions": 0,
+ "share": 1,
+ "submit": 1,
"write": 1
- },
+ },
{
- "amend": 0,
- "apply_user_permissions": 0,
- "cancel": 0,
- "create": 0,
- "delete": 0,
- "email": 1,
- "export": 0,
- "if_owner": 0,
- "import": 0,
- "permlevel": 0,
- "print": 1,
- "read": 1,
- "report": 1,
- "role": "Purchase User",
- "set_user_permissions": 0,
- "share": 0,
- "submit": 0,
+ "amend": 0,
+ "apply_user_permissions": 0,
+ "cancel": 0,
+ "create": 0,
+ "delete": 0,
+ "email": 1,
+ "export": 0,
+ "if_owner": 0,
+ "import": 0,
+ "permlevel": 0,
+ "print": 1,
+ "read": 1,
+ "report": 1,
+ "role": "Purchase User",
+ "set_user_permissions": 0,
+ "share": 0,
+ "submit": 0,
"write": 0
- },
+ },
{
- "amend": 0,
- "apply_user_permissions": 0,
- "cancel": 0,
- "create": 0,
- "delete": 0,
- "email": 1,
- "export": 0,
- "if_owner": 0,
- "import": 0,
- "permlevel": 0,
- "print": 1,
- "read": 1,
- "report": 1,
- "role": "Supplier",
- "set_user_permissions": 0,
- "share": 0,
- "submit": 0,
+ "amend": 0,
+ "apply_user_permissions": 0,
+ "cancel": 0,
+ "create": 0,
+ "delete": 0,
+ "email": 1,
+ "export": 0,
+ "if_owner": 0,
+ "import": 0,
+ "permlevel": 0,
+ "print": 1,
+ "read": 1,
+ "report": 1,
+ "role": "Supplier",
+ "set_user_permissions": 0,
+ "share": 0,
+ "submit": 0,
"write": 0
- },
+ },
{
- "amend": 1,
- "apply_user_permissions": 0,
- "cancel": 1,
- "create": 1,
- "delete": 1,
- "email": 1,
- "export": 0,
- "if_owner": 0,
- "import": 0,
- "permlevel": 0,
- "print": 1,
- "read": 1,
- "report": 1,
- "role": "Accounts Manager",
- "set_user_permissions": 0,
- "share": 1,
- "submit": 1,
+ "amend": 1,
+ "apply_user_permissions": 0,
+ "cancel": 1,
+ "create": 1,
+ "delete": 1,
+ "email": 1,
+ "export": 0,
+ "if_owner": 0,
+ "import": 0,
+ "permlevel": 0,
+ "print": 1,
+ "read": 1,
+ "report": 1,
+ "role": "Accounts Manager",
+ "set_user_permissions": 0,
+ "share": 1,
+ "submit": 1,
"write": 1
- },
+ },
{
- "amend": 0,
- "apply_user_permissions": 0,
- "cancel": 0,
- "create": 0,
- "delete": 0,
- "email": 1,
- "export": 0,
- "if_owner": 0,
- "import": 0,
- "permlevel": 0,
- "print": 1,
- "read": 1,
- "report": 1,
- "role": "Auditor",
- "set_user_permissions": 0,
- "share": 0,
- "submit": 0,
+ "amend": 0,
+ "apply_user_permissions": 0,
+ "cancel": 0,
+ "create": 0,
+ "delete": 0,
+ "email": 1,
+ "export": 0,
+ "if_owner": 0,
+ "import": 0,
+ "permlevel": 0,
+ "print": 1,
+ "read": 1,
+ "report": 1,
+ "role": "Auditor",
+ "set_user_permissions": 0,
+ "share": 0,
+ "submit": 0,
"write": 0
- },
+ },
{
- "amend": 0,
- "apply_user_permissions": 0,
- "cancel": 0,
- "create": 0,
- "delete": 0,
- "email": 0,
- "export": 0,
- "if_owner": 0,
- "import": 0,
- "permlevel": 1,
- "print": 0,
- "read": 1,
- "report": 0,
- "role": "Accounts Manager",
- "set_user_permissions": 0,
- "share": 0,
- "submit": 0,
+ "amend": 0,
+ "apply_user_permissions": 0,
+ "cancel": 0,
+ "create": 0,
+ "delete": 0,
+ "email": 0,
+ "export": 0,
+ "if_owner": 0,
+ "import": 0,
+ "permlevel": 1,
+ "print": 0,
+ "read": 1,
+ "report": 0,
+ "role": "Accounts Manager",
+ "set_user_permissions": 0,
+ "share": 0,
+ "submit": 0,
"write": 1
}
- ],
- "read_only": 0,
- "read_only_onload": 1,
- "search_fields": "posting_date, supplier, fiscal_year, bill_no, base_grand_total, outstanding_amount",
- "sort_field": "modified",
- "sort_order": "DESC",
+ ],
+ "read_only": 0,
+ "read_only_onload": 1,
+ "search_fields": "posting_date, supplier, fiscal_year, bill_no, base_grand_total, outstanding_amount",
+ "sort_field": "modified",
+ "sort_order": "DESC",
"title_field": "title"
-}
\ No newline at end of file
+}
diff --git a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py
index a43e553..d92e1fa 100644
--- a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py
+++ b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py
@@ -91,13 +91,16 @@
throw(_("Conversion rate cannot be 0 or 1"))
def validate_credit_to_acc(self):
- account = frappe.db.get_value("Account", self.credit_to, ["account_type", "report_type"], as_dict=True)
+ account = frappe.db.get_value("Account", self.credit_to,
+ ["account_type", "report_type", "account_currency"], as_dict=True)
if account.report_type != "Balance Sheet":
frappe.throw(_("Credit To account must be a Balance Sheet account"))
if self.supplier and account.account_type != "Payable":
frappe.throw(_("Credit To account must be a Payable account"))
+
+ self.party_account_currency = account.account_currency
def check_for_stopped_status(self):
check_list = []
@@ -213,7 +216,7 @@
'party_type': 'Supplier',
'party': self.supplier,
'is_advance' : 'Yes',
- 'dr_or_cr' : 'debit',
+ 'dr_or_cr' : 'debit_in_account_currency',
'unadjusted_amt' : flt(d.advance_amount),
'allocated_amt' : flt(d.allocated_amount)
}
@@ -248,7 +251,7 @@
expenses_included_in_valuation = self.get_company_default("expenses_included_in_valuation")
gl_entries = []
-
+
# parent's gl entry
if self.base_grand_total:
gl_entries.append(
@@ -257,26 +260,32 @@
"party_type": "Supplier",
"party": self.supplier,
"against": self.against_expense_account,
- "credit": self.total_amount_to_pay,
- "remarks": self.remarks,
+ "credit": self.base_grand_total,
+ "credit_in_account_currency": self.base_grand_total \
+ if self.party_account_currency==self.company_currency else self.grand_total,
"against_voucher": self.return_against if cint(self.is_return) else self.name,
"against_voucher_type": self.doctype,
- })
+ }, self.party_account_currency)
)
# tax table gl entries
valuation_tax = {}
for tax in self.get("taxes"):
if tax.category in ("Total", "Valuation and Total") and flt(tax.base_tax_amount_after_discount_amount):
+ account_currency = frappe.db.get_value("Account", tax.account_head, "account_currency")
+
+ dr_or_cr = "debit" if tax.add_deduct_tax == "Add" else "credit"
+
gl_entries.append(
self.get_gl_dict({
"account": tax.account_head,
"against": self.supplier,
- "debit": tax.add_deduct_tax == "Add" and tax.base_tax_amount_after_discount_amount or 0,
- "credit": tax.add_deduct_tax == "Deduct" and tax.base_tax_amount_after_discount_amount or 0,
- "remarks": self.remarks,
+ dr_or_cr: tax.base_tax_amount_after_discount_amount,
+ dr_or_cr + "_in_account_currency": tax.base_tax_amount_after_discount_amount \
+ if account_currency==self.company_currency \
+ else tax.tax_amount_after_discount_amount,
"cost_center": tax.cost_center
- })
+ }, account_currency)
)
# accumulate valuation tax
@@ -292,14 +301,16 @@
stock_items = self.get_stock_items()
for item in self.get("items"):
if flt(item.base_net_amount):
+ account_currency = frappe.db.get_value("Account", item.expense_account, "account_currency")
gl_entries.append(
self.get_gl_dict({
"account": item.expense_account,
"against": self.supplier,
"debit": item.base_net_amount,
- "remarks": self.remarks,
+ "debit_in_account_currency": item.base_net_amount \
+ if account_currency==self.company_currency else item.net_amount,
"cost_center": item.cost_center
- })
+ }, account_currency)
)
if auto_accounting_for_stock and self.is_opening == "No" and \
@@ -352,12 +363,28 @@
# writeoff account includes petty difference in the invoice amount
# and the amount that is paid
if self.write_off_account and flt(self.write_off_amount):
+ write_off_account_currency = frappe.db.get_value("Account", self.write_off_account, "account_currency")
+
+ gl_entries.append(
+ self.get_gl_dict({
+ "account": self.credit_to,
+ "party_type": "Supplier",
+ "party": self.supplier,
+ "against": self.write_off_account,
+ "debit": self.base_write_off_amount,
+ "debit_in_account_currency": self.base_write_off_amount \
+ if self.party_account_currency==self.company_currency else self.write_off_amount,
+ "against_voucher": self.return_against if cint(self.is_return) else self.name,
+ "against_voucher_type": self.doctype,
+ }, self.party_account_currency)
+ )
gl_entries.append(
self.get_gl_dict({
"account": self.write_off_account,
"against": self.supplier,
- "credit": flt(self.write_off_amount),
- "remarks": self.remarks,
+ "credit": flt(self.base_write_off_amount),
+ "credit_in_account_currency": self.base_write_off_amount \
+ if write_off_account_currency==self.company_currency else self.write_off_amount,
"cost_center": self.write_off_cost_center
})
)
diff --git a/erpnext/accounts/doctype/purchase_invoice/test_purchase_invoice.py b/erpnext/accounts/doctype/purchase_invoice/test_purchase_invoice.py
index 0b74948..b39f30b 100644
--- a/erpnext/accounts/doctype/purchase_invoice/test_purchase_invoice.py
+++ b/erpnext/accounts/doctype/purchase_invoice/test_purchase_invoice.py
@@ -10,6 +10,7 @@
import frappe.defaults
from erpnext.stock.doctype.purchase_receipt.test_purchase_receipt import set_perpetual_inventory, \
test_records as pr_test_records
+from erpnext.controllers.accounts_controller import InvalidCurrency
test_dependencies = ["Item", "Cost Center"]
test_ignore = ["Serial No"]
@@ -218,7 +219,8 @@
pi.load_from_db()
self.assertTrue(frappe.db.sql("""select name from `tabJournal Entry Account`
- where reference_type='Purchase Invoice' and reference_name=%s and debit=300""", pi.name))
+ where reference_type='Purchase Invoice'
+ and reference_name=%s and debit_in_account_currency=300""", pi.name))
self.assertEqual(pi.outstanding_amount, 1212.30)
@@ -276,6 +278,55 @@
self.assertEquals(expected_values[gle.account][1], gle.credit)
set_perpetual_inventory(0)
+
+ def test_multi_currency_gle(self):
+ set_perpetual_inventory(0)
+
+ pi = make_purchase_invoice(supplier="_Test Supplier USD", credit_to="_Test Payable USD - _TC",
+ currency="USD", conversion_rate=50)
+
+ gl_entries = frappe.db.sql("""select account, account_currency, debit, credit,
+ debit_in_account_currency, credit_in_account_currency
+ from `tabGL Entry` where voucher_type='Purchase Invoice' and voucher_no=%s
+ order by account asc""", pi.name, as_dict=1)
+
+ self.assertTrue(gl_entries)
+
+ expected_values = {
+ "_Test Payable USD - _TC": {
+ "account_currency": "USD",
+ "debit": 0,
+ "debit_in_account_currency": 0,
+ "credit": 12500,
+ "credit_in_account_currency": 250
+ },
+ "_Test Account Cost for Goods Sold - _TC": {
+ "account_currency": "INR",
+ "debit": 12500,
+ "debit_in_account_currency": 12500,
+ "credit": 0,
+ "credit_in_account_currency": 0
+ }
+ }
+
+ for field in ("account_currency", "debit", "debit_in_account_currency", "credit", "credit_in_account_currency"):
+ for i, gle in enumerate(gl_entries):
+ self.assertEquals(expected_values[gle.account][field], gle[field])
+
+
+ # Check for valid currency
+ pi1 = make_purchase_invoice(supplier="_Test Supplier USD", credit_to="_Test Payable USD - _TC",
+ do_not_save=True)
+
+ self.assertRaises(InvalidCurrency, pi1.save)
+
+ # cancel
+ pi.cancel()
+
+ gle = frappe.db.sql("""select name from `tabGL Entry`
+ where voucher_type='Sales Invoice' and voucher_no=%s""", pi.name)
+
+ self.assertFalse(gle)
def make_purchase_invoice(**args):
pi = frappe.new_doc("Purchase Invoice")
diff --git a/erpnext/accounts/doctype/purchase_invoice/test_records.json b/erpnext/accounts/doctype/purchase_invoice/test_records.json
index 679e870..e6961d9 100644
--- a/erpnext/accounts/doctype/purchase_invoice/test_records.json
+++ b/erpnext/accounts/doctype/purchase_invoice/test_records.json
@@ -141,6 +141,9 @@
"supplier": "_Test Supplier",
"supplier_name": "_Test Supplier"
},
+
+
+
{
"bill_no": "NA",
"buying_price_list": "_Test Price List",
diff --git a/erpnext/accounts/doctype/purchase_invoice_advance/purchase_invoice_advance.json b/erpnext/accounts/doctype/purchase_invoice_advance/purchase_invoice_advance.json
index c9139d1..f190809 100644
--- a/erpnext/accounts/doctype/purchase_invoice_advance/purchase_invoice_advance.json
+++ b/erpnext/accounts/doctype/purchase_invoice_advance/purchase_invoice_advance.json
@@ -117,7 +117,7 @@
"no_copy": 1,
"oldfieldname": "advance_amount",
"oldfieldtype": "Currency",
- "options": "Company:company:default_currency",
+ "options": "party_account_currency",
"permlevel": 0,
"print_hide": 0,
"print_width": "100px",
@@ -143,7 +143,7 @@
"no_copy": 1,
"oldfieldname": "allocated_amount",
"oldfieldtype": "Currency",
- "options": "Company:company:default_currency",
+ "options": "party_account_currency",
"permlevel": 0,
"print_hide": 0,
"print_width": "100px",
@@ -164,7 +164,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 1,
- "modified": "2014-12-25 16:29:15.176476",
+ "modified": "2015-08-25 17:51:30.274069",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Purchase Invoice Advance",
diff --git a/erpnext/accounts/doctype/purchase_taxes_and_charges_template/purchase_taxes_and_charges_template.json b/erpnext/accounts/doctype/purchase_taxes_and_charges_template/purchase_taxes_and_charges_template.json
index ab18215..86fd799 100644
--- a/erpnext/accounts/doctype/purchase_taxes_and_charges_template/purchase_taxes_and_charges_template.json
+++ b/erpnext/accounts/doctype/purchase_taxes_and_charges_template/purchase_taxes_and_charges_template.json
@@ -8,7 +8,7 @@
"description": "Standard tax template that can be applied to all Purchase Transactions. This template can contain list of tax heads and also other expense heads like \"Shipping\", \"Insurance\", \"Handling\" etc.\n\n#### Note\n\nThe tax rate you define here will be the standard tax rate for all **Items**. If there are **Items** that have different rates, they must be added in the **Item Tax** table in the **Item** master.\n\n#### Description of Columns\n\n1. Calculation Type: \n - This can be on **Net Total** (that is the sum of basic amount).\n - **On Previous Row Total / Amount** (for cumulative taxes or charges). If you select this option, the tax will be applied as a percentage of the previous row (in the tax table) amount or total.\n - **Actual** (as mentioned).\n2. Account Head: The Account ledger under which this tax will be booked\n3. Cost Center: If the tax / charge is an income (like shipping) or expense it needs to be booked against a Cost Center.\n4. Description: Description of the tax (that will be printed in invoices / quotes).\n5. Rate: Tax rate.\n6. Amount: Tax amount.\n7. Total: Cumulative total to this point.\n8. Enter Row: If based on \"Previous Row Total\" you can select the row number which will be taken as a base for this calculation (default is the previous row).\n9. Consider Tax or Charge for: In this section you can specify if the tax / charge is only for valuation (not a part of total) or only for total (does not add value to the item) or for both.\n10. Add or Deduct: Whether you want to add or deduct the tax.",
"docstatus": 0,
"doctype": "DocType",
- "document_type": "Master",
+ "document_type": "Setup",
"fields": [
{
"allow_on_submit": 0,
@@ -21,7 +21,7 @@
"in_filter": 1,
"in_list_view": 0,
"label": "Title",
- "no_copy": 0,
+ "no_copy": 1,
"oldfieldname": "title",
"oldfieldtype": "Data",
"permlevel": 0,
@@ -176,7 +176,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
- "modified": "2015-05-06 08:52:01.499434",
+ "modified": "2015-09-11 12:19:53.741725",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Purchase Taxes and Charges Template",
diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice.js b/erpnext/accounts/doctype/sales_invoice/sales_invoice.js
index ec84302..5e8d3a5 100644
--- a/erpnext/accounts/doctype/sales_invoice/sales_invoice.js
+++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice.js
@@ -175,6 +175,26 @@
me.apply_pricing_rule();
})
},
+
+ debit_to: function() {
+ var me = this;
+ if(this.frm.doc.debit_to) {
+ me.frm.call({
+ method: "frappe.client.get_value",
+ args: {
+ doctype: "Account",
+ fieldname: "account_currency",
+ filters: { name: me.frm.doc.debit_to },
+ },
+ callback: function(r, rt) {
+ if(r.message) {
+ me.frm.set_value("party_account_currency", r.message.account_currency);
+ me.set_dynamic_labels();
+ }
+ }
+ });
+ }
+ },
allocated_amount: function() {
this.calculate_total_advance();
@@ -183,10 +203,10 @@
write_off_outstanding_amount_automatically: function() {
if(cint(this.frm.doc.write_off_outstanding_amount_automatically)) {
- frappe.model.round_floats_in(this.frm.doc, ["base_grand_total", "paid_amount"]);
+ frappe.model.round_floats_in(this.frm.doc, ["grand_total", "paid_amount"]);
// this will make outstanding amount 0
this.frm.set_value("write_off_amount",
- flt(this.frm.doc.base_grand_total - this.frm.doc.paid_amount - this.frm.doc.total_advance, precision("write_off_amount"))
+ flt(this.frm.doc.grand_total - this.frm.doc.paid_amount - this.frm.doc.total_advance, precision("write_off_amount"))
);
this.frm.toggle_enable("write_off_amount", false);
@@ -199,10 +219,12 @@
},
write_off_amount: function() {
+ this.set_in_company_currency(this.frm.doc, ["write_off_amount"]);
this.write_off_outstanding_amount_automatically();
},
paid_amount: function() {
+ this.set_in_company_currency(this.frm.doc, ["paid_amount"]);
this.write_off_outstanding_amount_automatically();
},
diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice.json b/erpnext/accounts/doctype/sales_invoice/sales_invoice.json
index 81012fb..08a7b24 100644
--- a/erpnext/accounts/doctype/sales_invoice/sales_invoice.json
+++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice.json
@@ -1,2978 +1,3047 @@
{
- "allow_copy": 0,
- "allow_import": 1,
- "allow_rename": 0,
- "autoname": "naming_series:",
- "creation": "2013-05-24 19:29:05",
- "custom": 0,
- "default_print_format": "Standard",
- "docstatus": 0,
- "doctype": "DocType",
- "document_type": "",
+ "allow_copy": 0,
+ "allow_import": 1,
+ "allow_rename": 0,
+ "autoname": "naming_series:",
+ "creation": "2013-05-24 19:29:05",
+ "custom": 0,
+ "default_print_format": "Standard",
+ "docstatus": 0,
+ "doctype": "DocType",
+ "document_type": "",
"fields": [
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "customer_section",
- "fieldtype": "Section Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "",
- "no_copy": 0,
- "options": "icon-user",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "customer_section",
+ "fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "",
+ "no_copy": 0,
+ "options": "icon-user",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 1,
- "bold": 0,
- "collapsible": 0,
- "default": "{customer_name}",
- "fieldname": "title",
- "fieldtype": "Data",
- "hidden": 1,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Title",
- "no_copy": 0,
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 1,
+ "bold": 0,
+ "collapsible": 0,
+ "default": "{customer_name}",
+ "fieldname": "title",
+ "fieldtype": "Data",
+ "hidden": 1,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Title",
+ "no_copy": 1,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 1,
- "collapsible": 0,
- "fieldname": "naming_series",
- "fieldtype": "Select",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Series",
- "no_copy": 1,
- "oldfieldname": "naming_series",
- "oldfieldtype": "Select",
- "options": "SINV-\nSINV-RET-",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 1,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 1,
+ "collapsible": 0,
+ "fieldname": "naming_series",
+ "fieldtype": "Select",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Series",
+ "no_copy": 1,
+ "oldfieldname": "naming_series",
+ "oldfieldtype": "Select",
+ "options": "SINV-\nSINV-RET-",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 1,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 1,
- "collapsible": 0,
- "fieldname": "customer",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Customer",
- "no_copy": 0,
- "oldfieldname": "customer",
- "oldfieldtype": "Link",
- "options": "Customer",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 1,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 1,
+ "collapsible": 0,
+ "fieldname": "customer",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Customer",
+ "no_copy": 0,
+ "oldfieldname": "customer",
+ "oldfieldtype": "Link",
+ "options": "Customer",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 1,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "depends_on": "customer",
- "fieldname": "customer_name",
- "fieldtype": "Data",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Customer Name",
- "no_copy": 0,
- "oldfieldname": "customer_name",
- "oldfieldtype": "Data",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "depends_on": "customer",
+ "fieldname": "customer_name",
+ "fieldtype": "Data",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Customer Name",
+ "no_copy": 0,
+ "oldfieldname": "customer_name",
+ "oldfieldtype": "Data",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "address_display",
- "fieldtype": "Small Text",
- "hidden": 1,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Address",
- "no_copy": 0,
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "address_display",
+ "fieldtype": "Small Text",
+ "hidden": 1,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Address",
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "contact_display",
- "fieldtype": "Small Text",
- "hidden": 1,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Contact",
- "no_copy": 0,
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "contact_display",
+ "fieldtype": "Small Text",
+ "hidden": 1,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Contact",
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "contact_mobile",
- "fieldtype": "Small Text",
- "hidden": 1,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Mobile No",
- "no_copy": 0,
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "contact_mobile",
+ "fieldtype": "Small Text",
+ "hidden": 1,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Mobile No",
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "contact_email",
- "fieldtype": "Small Text",
- "hidden": 1,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Contact Email",
- "no_copy": 0,
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "contact_email",
+ "fieldtype": "Small Text",
+ "hidden": 1,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Contact Email",
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "is_pos",
- "fieldtype": "Check",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Is POS",
- "no_copy": 0,
- "oldfieldname": "is_pos",
- "oldfieldtype": "Check",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "is_pos",
+ "fieldtype": "Check",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Is POS",
+ "no_copy": 0,
+ "oldfieldname": "is_pos",
+ "oldfieldtype": "Check",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "depends_on": "is_return",
- "fieldname": "is_return",
- "fieldtype": "Check",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Is Return",
- "no_copy": 0,
- "permlevel": 0,
- "precision": "",
- "print_hide": 1,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "depends_on": "is_return",
+ "fieldname": "is_return",
+ "fieldtype": "Check",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Is Return",
+ "no_copy": 0,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 1,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "column_break1",
- "fieldtype": "Column Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "no_copy": 0,
- "oldfieldtype": "Column Break",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "column_break1",
+ "fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
+ "oldfieldtype": "Column Break",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 1,
- "collapsible": 0,
- "default": "Today",
- "fieldname": "posting_date",
- "fieldtype": "Date",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 1,
- "in_list_view": 0,
- "label": "Date",
- "no_copy": 1,
- "oldfieldname": "posting_date",
- "oldfieldtype": "Date",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 1,
- "search_index": 1,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 1,
+ "collapsible": 0,
+ "default": "Today",
+ "fieldname": "posting_date",
+ "fieldtype": "Date",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 1,
+ "in_list_view": 0,
+ "label": "Date",
+ "no_copy": 1,
+ "oldfieldname": "posting_date",
+ "oldfieldtype": "Date",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 1,
+ "search_index": 1,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "due_date",
- "fieldtype": "Date",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 1,
- "in_list_view": 0,
- "label": "Payment Due Date",
- "no_copy": 1,
- "oldfieldname": "due_date",
- "oldfieldtype": "Date",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "due_date",
+ "fieldtype": "Date",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 1,
+ "in_list_view": 0,
+ "label": "Payment Due Date",
+ "no_copy": 1,
+ "oldfieldname": "due_date",
+ "oldfieldtype": "Date",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "company",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 1,
- "in_list_view": 0,
- "label": "Company",
- "no_copy": 0,
- "oldfieldname": "company",
- "oldfieldtype": "Link",
- "options": "Company",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 1,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "company",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 1,
+ "in_list_view": 0,
+ "label": "Company",
+ "no_copy": 0,
+ "oldfieldname": "company",
+ "oldfieldtype": "Link",
+ "options": "Company",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 1,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "amended_from",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 1,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Amended From",
- "no_copy": 1,
- "oldfieldname": "amended_from",
- "oldfieldtype": "Link",
- "options": "Sales Invoice",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "amended_from",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 1,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Amended From",
+ "no_copy": 1,
+ "oldfieldname": "amended_from",
+ "oldfieldtype": "Link",
+ "options": "Sales Invoice",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "depends_on": "is_return",
- "fieldname": "return_against",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Return Against Sales Invoice",
- "no_copy": 0,
- "options": "Sales Invoice",
- "permlevel": 0,
- "precision": "",
- "print_hide": 1,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "depends_on": "is_return",
+ "fieldname": "return_against",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Return Against Sales Invoice",
+ "no_copy": 0,
+ "options": "Sales Invoice",
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 1,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "shipping_address_name",
- "fieldtype": "Link",
- "hidden": 1,
- "ignore_user_permissions": 0,
- "in_filter": 1,
- "in_list_view": 0,
- "label": "Shipping Address Name",
- "no_copy": 0,
- "options": "Address",
- "permlevel": 0,
- "precision": "",
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "shipping_address_name",
+ "fieldtype": "Link",
+ "hidden": 1,
+ "ignore_user_permissions": 0,
+ "in_filter": 1,
+ "in_list_view": 0,
+ "label": "Shipping Address Name",
+ "no_copy": 0,
+ "options": "Address",
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "shipping_address",
- "fieldtype": "Small Text",
- "hidden": 1,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Shipping Address",
- "no_copy": 0,
- "permlevel": 0,
- "precision": "",
- "print_hide": 1,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "shipping_address",
+ "fieldtype": "Small Text",
+ "hidden": 1,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Shipping Address",
+ "no_copy": 0,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 1,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 1,
- "fieldname": "currency_and_price_list",
- "fieldtype": "Section Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Currency and Price List",
- "no_copy": 0,
- "options": "",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 1,
+ "fieldname": "currency_and_price_list",
+ "fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Currency and Price List",
+ "no_copy": 0,
+ "options": "",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "currency",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Currency",
- "no_copy": 0,
- "oldfieldname": "currency",
- "oldfieldtype": "Select",
- "options": "Currency",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 1,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "currency",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Currency",
+ "no_copy": 0,
+ "oldfieldname": "currency",
+ "oldfieldtype": "Select",
+ "options": "Currency",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 1,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "description": "Rate at which Customer Currency is converted to customer's base currency",
- "fieldname": "conversion_rate",
- "fieldtype": "Float",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Exchange Rate",
- "no_copy": 0,
- "oldfieldname": "conversion_rate",
- "oldfieldtype": "Currency",
- "permlevel": 0,
- "precision": "9",
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 1,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "description": "Rate at which Customer Currency is converted to customer's base currency",
+ "fieldname": "conversion_rate",
+ "fieldtype": "Float",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Exchange Rate",
+ "no_copy": 0,
+ "oldfieldname": "conversion_rate",
+ "oldfieldtype": "Currency",
+ "permlevel": 0,
+ "precision": "9",
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 1,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "column_break2",
- "fieldtype": "Column Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "no_copy": 0,
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "unique": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "column_break2",
+ "fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0,
"width": "50%"
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "selling_price_list",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Price List",
- "no_copy": 0,
- "oldfieldname": "price_list_name",
- "oldfieldtype": "Select",
- "options": "Price List",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 1,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "selling_price_list",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Price List",
+ "no_copy": 0,
+ "oldfieldname": "price_list_name",
+ "oldfieldtype": "Select",
+ "options": "Price List",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 1,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "price_list_currency",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Price List Currency",
- "no_copy": 0,
- "options": "Currency",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 1,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "price_list_currency",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Price List Currency",
+ "no_copy": 0,
+ "options": "Currency",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 1,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "description": "Rate at which Price list currency is converted to customer's base currency",
- "fieldname": "plc_conversion_rate",
- "fieldtype": "Float",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Price List Exchange Rate",
- "no_copy": 0,
- "permlevel": 0,
- "precision": "9",
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 1,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "description": "Rate at which Price list currency is converted to customer's base currency",
+ "fieldname": "plc_conversion_rate",
+ "fieldtype": "Float",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Price List Exchange Rate",
+ "no_copy": 0,
+ "permlevel": 0,
+ "precision": "9",
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 1,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "ignore_pricing_rule",
- "fieldtype": "Check",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Ignore Pricing Rule",
- "no_copy": 1,
- "permlevel": 1,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "ignore_pricing_rule",
+ "fieldtype": "Check",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Ignore Pricing Rule",
+ "no_copy": 1,
+ "permlevel": 1,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "items_section",
- "fieldtype": "Section Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "",
- "no_copy": 0,
- "oldfieldtype": "Section Break",
- "options": "icon-shopping-cart",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "items_section",
+ "fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "",
+ "no_copy": 0,
+ "oldfieldtype": "Section Break",
+ "options": "icon-shopping-cart",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "update_stock",
- "fieldtype": "Check",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Update Stock",
- "no_copy": 0,
- "oldfieldname": "update_stock",
- "oldfieldtype": "Check",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "update_stock",
+ "fieldtype": "Check",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Update Stock",
+ "no_copy": 0,
+ "oldfieldname": "update_stock",
+ "oldfieldtype": "Check",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 1,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "items",
- "fieldtype": "Table",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Items",
- "no_copy": 0,
- "oldfieldname": "entries",
- "oldfieldtype": "Table",
- "options": "Sales Invoice Item",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 1,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 1,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "items",
+ "fieldtype": "Table",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Items",
+ "no_copy": 0,
+ "oldfieldname": "entries",
+ "oldfieldtype": "Table",
+ "options": "Sales Invoice Item",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 1,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "packing_list",
- "fieldtype": "Section Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Packing List",
- "no_copy": 0,
- "options": "icon-suitcase",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "packing_list",
+ "fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Packing List",
+ "no_copy": 0,
+ "options": "icon-suitcase",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "packed_items",
- "fieldtype": "Table",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Packed Items",
- "no_copy": 0,
- "options": "Packed Item",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "packed_items",
+ "fieldtype": "Table",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Packed Items",
+ "no_copy": 0,
+ "options": "Packed Item",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "product_bundle_help",
- "fieldtype": "HTML",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Product Bundle Help",
- "no_copy": 0,
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "product_bundle_help",
+ "fieldtype": "HTML",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Product Bundle Help",
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "section_break_30",
- "fieldtype": "Section Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "no_copy": 0,
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "section_break_30",
+ "fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "base_total",
- "fieldtype": "Currency",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Total (Company Currency)",
- "no_copy": 0,
- "options": "Company:company:default_currency",
- "permlevel": 0,
- "precision": "",
- "print_hide": 1,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "base_total",
+ "fieldtype": "Currency",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Total (Company Currency)",
+ "no_copy": 0,
+ "options": "Company:company:default_currency",
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 1,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "base_net_total",
- "fieldtype": "Currency",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Net Total (Company Currency)",
- "no_copy": 0,
- "oldfieldname": "net_total",
- "oldfieldtype": "Currency",
- "options": "Company:company:default_currency",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 1,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "base_net_total",
+ "fieldtype": "Currency",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Net Total (Company Currency)",
+ "no_copy": 0,
+ "oldfieldname": "net_total",
+ "oldfieldtype": "Currency",
+ "options": "Company:company:default_currency",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 1,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "column_break_32",
- "fieldtype": "Column Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "no_copy": 0,
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "column_break_32",
+ "fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "total",
- "fieldtype": "Currency",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Total",
- "no_copy": 0,
- "options": "currency",
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "total",
+ "fieldtype": "Currency",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Total",
+ "no_copy": 0,
+ "options": "currency",
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "net_total",
- "fieldtype": "Currency",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Net Total",
- "no_copy": 0,
- "options": "currency",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "net_total",
+ "fieldtype": "Currency",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Net Total",
+ "no_copy": 0,
+ "options": "currency",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "taxes_section",
- "fieldtype": "Section Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "",
- "no_copy": 0,
- "oldfieldtype": "Section Break",
- "options": "icon-money",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "taxes_section",
+ "fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "",
+ "no_copy": 0,
+ "oldfieldtype": "Section Break",
+ "options": "icon-money",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "taxes_and_charges",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Taxes and Charges",
- "no_copy": 0,
- "oldfieldname": "charge",
- "oldfieldtype": "Link",
- "options": "Sales Taxes and Charges Template",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "taxes_and_charges",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Taxes and Charges",
+ "no_copy": 0,
+ "oldfieldname": "charge",
+ "oldfieldtype": "Link",
+ "options": "Sales Taxes and Charges Template",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "column_break_38",
- "fieldtype": "Column Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "no_copy": 0,
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "column_break_38",
+ "fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "shipping_rule",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Shipping Rule",
- "no_copy": 0,
- "oldfieldtype": "Button",
- "options": "Shipping Rule",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "shipping_rule",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Shipping Rule",
+ "no_copy": 0,
+ "oldfieldtype": "Button",
+ "options": "Shipping Rule",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "section_break_40",
- "fieldtype": "Section Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "no_copy": 0,
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "section_break_40",
+ "fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 1,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "taxes",
- "fieldtype": "Table",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Sales Taxes and Charges",
- "no_copy": 0,
- "oldfieldname": "other_charges",
- "oldfieldtype": "Table",
- "options": "Sales Taxes and Charges",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 1,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "taxes",
+ "fieldtype": "Table",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Sales Taxes and Charges",
+ "no_copy": 0,
+ "oldfieldname": "other_charges",
+ "oldfieldtype": "Table",
+ "options": "Sales Taxes and Charges",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "other_charges_calculation",
- "fieldtype": "HTML",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Taxes and Charges Calculation",
- "no_copy": 0,
- "oldfieldtype": "HTML",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "other_charges_calculation",
+ "fieldtype": "HTML",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Taxes and Charges Calculation",
+ "no_copy": 0,
+ "oldfieldtype": "HTML",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "section_break_43",
- "fieldtype": "Section Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "no_copy": 0,
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "section_break_43",
+ "fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "base_total_taxes_and_charges",
- "fieldtype": "Currency",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Total Taxes and Charges (Company Currency)",
- "no_copy": 0,
- "oldfieldname": "other_charges_total",
- "oldfieldtype": "Currency",
- "options": "Company:company:default_currency",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "base_total_taxes_and_charges",
+ "fieldtype": "Currency",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Total Taxes and Charges (Company Currency)",
+ "no_copy": 0,
+ "oldfieldname": "other_charges_total",
+ "oldfieldtype": "Currency",
+ "options": "Company:company:default_currency",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "column_break_47",
- "fieldtype": "Column Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "no_copy": 0,
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "column_break_47",
+ "fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "total_taxes_and_charges",
- "fieldtype": "Currency",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Total Taxes and Charges",
- "no_copy": 0,
- "options": "currency",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "total_taxes_and_charges",
+ "fieldtype": "Currency",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Total Taxes and Charges",
+ "no_copy": 0,
+ "options": "currency",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 1,
- "collapsible_depends_on": "discount_amount",
- "fieldname": "section_break_49",
- "fieldtype": "Section Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Discount",
- "no_copy": 0,
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 1,
+ "collapsible_depends_on": "discount_amount",
+ "fieldname": "section_break_49",
+ "fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Additional Discount",
+ "no_copy": 0,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "default": "Grand Total",
- "fieldname": "apply_discount_on",
- "fieldtype": "Select",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Apply Additional Discount On",
- "no_copy": 0,
- "options": "\nGrand Total\nNet Total",
- "permlevel": 0,
- "precision": "",
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "default": "Grand Total",
+ "fieldname": "apply_discount_on",
+ "fieldtype": "Select",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Apply Additional Discount On",
+ "no_copy": 0,
+ "options": "\nGrand Total\nNet Total",
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "column_break_51",
- "fieldtype": "Column Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "no_copy": 0,
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "column_break_51",
+ "fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "discount_amount",
- "fieldtype": "Currency",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Additional Discount Amount",
- "no_copy": 0,
- "options": "currency",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "discount_amount",
+ "fieldtype": "Currency",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Additional Discount Amount",
+ "no_copy": 0,
+ "options": "currency",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "base_discount_amount",
- "fieldtype": "Currency",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Additional Discount Amount (Company Currency)",
- "no_copy": 0,
- "options": "Company:company:default_currency",
- "permlevel": 0,
- "precision": "",
- "print_hide": 1,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "base_discount_amount",
+ "fieldtype": "Currency",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Additional Discount Amount (Company Currency)",
+ "no_copy": 0,
+ "options": "Company:company:default_currency",
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 1,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "totals",
- "fieldtype": "Section Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "",
- "no_copy": 0,
- "oldfieldtype": "Section Break",
- "options": "icon-money",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "totals",
+ "fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "",
+ "no_copy": 0,
+ "oldfieldtype": "Section Break",
+ "options": "icon-money",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "base_grand_total",
- "fieldtype": "Currency",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 1,
- "in_list_view": 0,
- "label": "Grand Total (Company Currency)",
- "no_copy": 0,
- "oldfieldname": "grand_total",
- "oldfieldtype": "Currency",
- "options": "Company:company:default_currency",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 1,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "base_grand_total",
+ "fieldtype": "Currency",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 1,
+ "in_list_view": 0,
+ "label": "Grand Total (Company Currency)",
+ "no_copy": 0,
+ "oldfieldname": "grand_total",
+ "oldfieldtype": "Currency",
+ "options": "Company:company:default_currency",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 1,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "base_rounded_total",
- "fieldtype": "Currency",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Rounded Total (Company Currency)",
- "no_copy": 0,
- "oldfieldname": "rounded_total",
- "oldfieldtype": "Currency",
- "options": "Company:company:default_currency",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "base_rounded_total",
+ "fieldtype": "Currency",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Rounded Total (Company Currency)",
+ "no_copy": 0,
+ "oldfieldname": "rounded_total",
+ "oldfieldtype": "Currency",
+ "options": "Company:company:default_currency",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "description": "In Words will be visible once you save the Sales Invoice.",
- "fieldname": "base_in_words",
- "fieldtype": "Data",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "In Words (Company Currency)",
- "no_copy": 0,
- "oldfieldname": "in_words",
- "oldfieldtype": "Data",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "description": "In Words will be visible once you save the Sales Invoice.",
+ "fieldname": "base_in_words",
+ "fieldtype": "Data",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "In Words (Company Currency)",
+ "no_copy": 0,
+ "oldfieldname": "in_words",
+ "oldfieldtype": "Data",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "column_break5",
- "fieldtype": "Column Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "no_copy": 0,
- "oldfieldtype": "Column Break",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "unique": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "column_break5",
+ "fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
+ "oldfieldtype": "Column Break",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0,
"width": "50%"
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 1,
- "collapsible": 0,
- "fieldname": "grand_total",
- "fieldtype": "Currency",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 1,
- "label": "Grand Total",
- "no_copy": 0,
- "oldfieldname": "grand_total_export",
- "oldfieldtype": "Currency",
- "options": "currency",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 1,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 1,
+ "collapsible": 0,
+ "fieldname": "grand_total",
+ "fieldtype": "Currency",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 1,
+ "label": "Grand Total",
+ "no_copy": 0,
+ "oldfieldname": "grand_total_export",
+ "oldfieldtype": "Currency",
+ "options": "currency",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 1,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "rounded_total",
- "fieldtype": "Currency",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Rounded Total",
- "no_copy": 0,
- "oldfieldname": "rounded_total_export",
- "oldfieldtype": "Currency",
- "options": "currency",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "rounded_total",
+ "fieldtype": "Currency",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Rounded Total",
+ "no_copy": 0,
+ "oldfieldname": "rounded_total_export",
+ "oldfieldtype": "Currency",
+ "options": "currency",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "in_words",
- "fieldtype": "Data",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "In Words",
- "no_copy": 0,
- "oldfieldname": "in_words_export",
- "oldfieldtype": "Data",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "in_words",
+ "fieldtype": "Data",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "In Words",
+ "no_copy": 0,
+ "oldfieldname": "in_words_export",
+ "oldfieldtype": "Data",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "total_advance",
- "fieldtype": "Currency",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Total Advance",
- "no_copy": 0,
- "oldfieldname": "total_advance",
- "oldfieldtype": "Currency",
- "options": "Company:company:default_currency",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "total_advance",
+ "fieldtype": "Currency",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Total Advance",
+ "no_copy": 0,
+ "oldfieldname": "total_advance",
+ "oldfieldtype": "Currency",
+ "options": "party_account_currency",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "outstanding_amount",
- "fieldtype": "Currency",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Outstanding Amount",
- "no_copy": 1,
- "oldfieldname": "outstanding_amount",
- "oldfieldtype": "Currency",
- "options": "Company:company:default_currency",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "outstanding_amount",
+ "fieldtype": "Currency",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Outstanding Amount",
+ "no_copy": 1,
+ "oldfieldname": "outstanding_amount",
+ "oldfieldtype": "Currency",
+ "options": "party_account_currency",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 1,
- "collapsible_depends_on": "advances",
- "fieldname": "advances_section",
- "fieldtype": "Section Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Advance Payments",
- "no_copy": 0,
- "oldfieldtype": "Section Break",
- "options": "icon-money",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 1,
+ "collapsible_depends_on": "advances",
+ "fieldname": "advances_section",
+ "fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Advance Payments",
+ "no_copy": 0,
+ "oldfieldtype": "Section Break",
+ "options": "icon-money",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "get_advances_received",
- "fieldtype": "Button",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Get Advances Received",
- "no_copy": 0,
- "oldfieldtype": "Button",
- "options": "get_advances",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "get_advances_received",
+ "fieldtype": "Button",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Get Advances Received",
+ "no_copy": 0,
+ "oldfieldtype": "Button",
+ "options": "get_advances",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "advances",
- "fieldtype": "Table",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Advances",
- "no_copy": 0,
- "oldfieldname": "advance_adjustment_details",
- "oldfieldtype": "Table",
- "options": "Sales Invoice Advance",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "advances",
+ "fieldtype": "Table",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Advances",
+ "no_copy": 0,
+ "oldfieldname": "advance_adjustment_details",
+ "oldfieldtype": "Table",
+ "options": "Sales Invoice Advance",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 1,
- "collapsible_depends_on": "paid_amount",
- "depends_on": "eval:doc.is_pos===1||(doc.advances && doc.advances.length>0)",
- "fieldname": "payments_section",
- "fieldtype": "Section Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Payments",
- "no_copy": 0,
- "options": "icon-money",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 1,
+ "collapsible_depends_on": "paid_amount",
+ "depends_on": "eval:doc.is_pos===1||(doc.advances && doc.advances.length>0)",
+ "fieldname": "payments_section",
+ "fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Payments",
+ "no_copy": 0,
+ "options": "icon-money",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "mode_of_payment",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Mode of Payment",
- "no_copy": 0,
- "oldfieldname": "mode_of_payment",
- "oldfieldtype": "Select",
- "options": "Mode of Payment",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "mode_of_payment",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Mode of Payment",
+ "no_copy": 0,
+ "oldfieldname": "mode_of_payment",
+ "oldfieldtype": "Select",
+ "options": "Mode of Payment",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "depends_on": "is_pos",
- "fieldname": "cash_bank_account",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Cash/Bank Account",
- "no_copy": 0,
- "oldfieldname": "cash_bank_account",
- "oldfieldtype": "Link",
- "options": "Account",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "depends_on": "is_pos",
+ "fieldname": "cash_bank_account",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Cash/Bank Account",
+ "no_copy": 0,
+ "oldfieldname": "cash_bank_account",
+ "oldfieldtype": "Link",
+ "options": "Account",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "depends_on": "is_pos",
- "fieldname": "column_break3",
- "fieldtype": "Column Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "no_copy": 0,
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "unique": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "depends_on": "is_pos",
+ "fieldname": "column_break3",
+ "fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0,
"width": "50%"
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "depends_on": "is_pos",
- "fieldname": "paid_amount",
- "fieldtype": "Currency",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Paid Amount",
- "no_copy": 1,
- "oldfieldname": "paid_amount",
- "oldfieldtype": "Currency",
- "options": "Company:company:default_currency",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "depends_on": "is_pos",
+ "fieldname": "paid_amount",
+ "fieldtype": "Currency",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Paid Amount",
+ "no_copy": 1,
+ "oldfieldname": "paid_amount",
+ "oldfieldtype": "Currency",
+ "options": "currency",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 1,
- "collapsible_depends_on": "write_off_amount",
- "depends_on": "grand_total",
- "fieldname": "column_break4",
- "fieldtype": "Section Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Write Off",
- "no_copy": 0,
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "unique": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "base_paid_amount",
+ "fieldtype": "Currency",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Paid Amount (Company Currency)",
+ "no_copy": 1,
+ "options": "Company:company:default_currency",
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 1,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 1,
+ "collapsible_depends_on": "write_off_amount",
+ "depends_on": "grand_total",
+ "fieldname": "column_break4",
+ "fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Write Off",
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0,
"width": "50%"
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "depends_on": "",
- "fieldname": "write_off_amount",
- "fieldtype": "Currency",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Write Off Amount",
- "no_copy": 1,
- "options": "Company:company:default_currency",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "depends_on": "",
+ "fieldname": "write_off_amount",
+ "fieldtype": "Currency",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Write Off Amount",
+ "no_copy": 1,
+ "options": "currency",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "depends_on": "is_pos",
- "fieldname": "write_off_outstanding_amount_automatically",
- "fieldtype": "Check",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Write Off Outstanding Amount",
- "no_copy": 0,
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "base_write_off_amount",
+ "fieldtype": "Currency",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Write Off Amount (Company Currency)",
+ "no_copy": 1,
+ "options": "Company:company:default_currency",
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 1,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "depends_on": "",
- "fieldname": "column_break_74",
- "fieldtype": "Column Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "no_copy": 0,
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "depends_on": "is_pos",
+ "fieldname": "write_off_outstanding_amount_automatically",
+ "fieldtype": "Check",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Write Off Outstanding Amount",
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "depends_on": "",
- "fieldname": "write_off_account",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Write Off Account",
- "no_copy": 0,
- "options": "Account",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "depends_on": "",
+ "fieldname": "column_break_74",
+ "fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "depends_on": "",
- "fieldname": "write_off_cost_center",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Write Off Cost Center",
- "no_copy": 0,
- "options": "Cost Center",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "depends_on": "",
+ "fieldname": "write_off_account",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Write Off Account",
+ "no_copy": 0,
+ "options": "Account",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 1,
- "collapsible_depends_on": "terms",
- "fieldname": "terms_section_break",
- "fieldtype": "Section Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Terms",
- "no_copy": 0,
- "oldfieldtype": "Section Break",
- "options": "",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "depends_on": "",
+ "fieldname": "write_off_cost_center",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Write Off Cost Center",
+ "no_copy": 0,
+ "options": "Cost Center",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "tc_name",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Terms",
- "no_copy": 0,
- "oldfieldname": "tc_name",
- "oldfieldtype": "Link",
- "options": "Terms and Conditions",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 1,
+ "collapsible_depends_on": "terms",
+ "fieldname": "terms_section_break",
+ "fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Terms",
+ "no_copy": 0,
+ "oldfieldtype": "Section Break",
+ "options": "",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "terms",
- "fieldtype": "Text Editor",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Terms and Conditions Details",
- "no_copy": 0,
- "oldfieldname": "terms",
- "oldfieldtype": "Text Editor",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "tc_name",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Terms",
+ "no_copy": 0,
+ "oldfieldname": "tc_name",
+ "oldfieldtype": "Link",
+ "options": "Terms and Conditions",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 1,
- "fieldname": "edit_printing_settings",
- "fieldtype": "Section Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Printing Settings",
- "no_copy": 0,
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "terms",
+ "fieldtype": "Text Editor",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Terms and Conditions Details",
+ "no_copy": 0,
+ "oldfieldname": "terms",
+ "oldfieldtype": "Text Editor",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 1,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "letter_head",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Letter Head",
- "no_copy": 0,
- "oldfieldname": "letter_head",
- "oldfieldtype": "Select",
- "options": "Letter Head",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 1,
+ "fieldname": "edit_printing_settings",
+ "fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Printing Settings",
+ "no_copy": 0,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "column_break_84",
- "fieldtype": "Column Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "no_copy": 0,
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 1,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "letter_head",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Letter Head",
+ "no_copy": 0,
+ "oldfieldname": "letter_head",
+ "oldfieldtype": "Select",
+ "options": "Letter Head",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 1,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "select_print_heading",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Print Heading",
- "no_copy": 1,
- "oldfieldname": "select_print_heading",
- "oldfieldtype": "Link",
- "options": "Print Heading",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 1,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "column_break_84",
+ "fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 1,
- "depends_on": "customer",
- "fieldname": "contact_section",
- "fieldtype": "Section Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "More Information",
- "no_copy": 0,
- "options": "icon-bullhorn",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 1,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "select_print_heading",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Print Heading",
+ "no_copy": 1,
+ "oldfieldname": "select_print_heading",
+ "oldfieldtype": "Link",
+ "options": "Print Heading",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 1,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "project_name",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 1,
- "in_list_view": 0,
- "label": "Project Name",
- "no_copy": 0,
- "oldfieldname": "project_name",
- "oldfieldtype": "Link",
- "options": "Project",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 1,
+ "depends_on": "customer",
+ "fieldname": "contact_section",
+ "fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "More Information",
+ "no_copy": 0,
+ "options": "icon-bullhorn",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "description": "",
- "fieldname": "territory",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 1,
- "in_list_view": 0,
- "label": "Territory",
- "no_copy": 0,
- "options": "Territory",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 1,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "project_name",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 1,
+ "in_list_view": 0,
+ "label": "Project Name",
+ "no_copy": 0,
+ "oldfieldname": "project_name",
+ "oldfieldtype": "Link",
+ "options": "Project",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "description": "",
- "fieldname": "customer_group",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 1,
- "in_list_view": 0,
- "label": "Customer Group",
- "no_copy": 0,
- "options": "Customer Group",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "description": "",
+ "fieldname": "territory",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 1,
+ "in_list_view": 0,
+ "label": "Territory",
+ "no_copy": 0,
+ "options": "Territory",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 1,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "col_break23",
- "fieldtype": "Column Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "no_copy": 0,
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "unique": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "description": "",
+ "fieldname": "customer_group",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 1,
+ "in_list_view": 0,
+ "label": "Customer Group",
+ "no_copy": 0,
+ "options": "Customer Group",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "col_break23",
+ "fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0,
"width": "50%"
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "customer_address",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Customer Address",
- "no_copy": 0,
- "options": "Address",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "customer_address",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Customer Address",
+ "no_copy": 0,
+ "options": "Address",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "contact_person",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Contact Person",
- "no_copy": 0,
- "options": "Contact",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "contact_person",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Contact Person",
+ "no_copy": 0,
+ "options": "Contact",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "depends_on": "eval:doc.source == 'Campaign'",
- "fieldname": "campaign",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Campaign",
- "no_copy": 0,
- "oldfieldname": "campaign",
- "oldfieldtype": "Link",
- "options": "Campaign",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "depends_on": "eval:doc.source == 'Campaign'",
+ "fieldname": "campaign",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Campaign",
+ "no_copy": 0,
+ "oldfieldname": "campaign",
+ "oldfieldtype": "Link",
+ "options": "Campaign",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "source",
- "fieldtype": "Select",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Source",
- "no_copy": 0,
- "oldfieldname": "source",
- "oldfieldtype": "Select",
- "options": "\nExisting Customer\nReference\nAdvertisement\nCold Calling\nExhibition\nSupplier Reference\nMass Mailing\nCustomer's Vendor\nCampaign",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "source",
+ "fieldtype": "Select",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Source",
+ "no_copy": 0,
+ "oldfieldname": "source",
+ "oldfieldtype": "Select",
+ "options": "\nExisting Customer\nReference\nAdvertisement\nCold Calling\nExhibition\nSupplier Reference\nMass Mailing\nCustomer's Vendor\nCampaign",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 1,
- "fieldname": "more_info",
- "fieldtype": "Section Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Accounting Details",
- "no_copy": 0,
- "oldfieldtype": "Section Break",
- "options": "icon-file-text",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 1,
+ "fieldname": "more_info",
+ "fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Accounting Details",
+ "no_copy": 0,
+ "oldfieldtype": "Section Break",
+ "options": "icon-file-text",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "description": "",
- "fieldname": "debit_to",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 1,
- "in_list_view": 0,
- "label": "Debit To",
- "no_copy": 0,
- "oldfieldname": "debit_to",
- "oldfieldtype": "Link",
- "options": "Account",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 1,
- "search_index": 1,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "description": "",
+ "fieldname": "debit_to",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 1,
+ "in_list_view": 0,
+ "label": "Debit To",
+ "no_copy": 0,
+ "oldfieldname": "debit_to",
+ "oldfieldtype": "Link",
+ "options": "Account",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 1,
+ "search_index": 1,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "default": "No",
- "description": "",
- "fieldname": "is_opening",
- "fieldtype": "Select",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 1,
- "in_list_view": 0,
- "label": "Is Opening Entry",
- "no_copy": 0,
- "oldfieldname": "is_opening",
- "oldfieldtype": "Select",
- "options": "No\nYes",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "party_account_currency",
+ "fieldtype": "Link",
+ "hidden": 1,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Party Account Currency",
+ "no_copy": 1,
+ "options": "Currency",
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 1,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "c_form_applicable",
- "fieldtype": "Select",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "C-Form Applicable",
- "no_copy": 1,
- "options": "No\nYes",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "default": "No",
+ "description": "",
+ "fieldname": "is_opening",
+ "fieldtype": "Select",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 1,
+ "in_list_view": 0,
+ "label": "Is Opening Entry",
+ "no_copy": 0,
+ "oldfieldname": "is_opening",
+ "oldfieldtype": "Select",
+ "options": "No\nYes",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "c_form_no",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "C-Form No",
- "no_copy": 1,
- "options": "C-Form",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "c_form_applicable",
+ "fieldtype": "Select",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "C-Form Applicable",
+ "no_copy": 1,
+ "options": "No\nYes",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "column_break8",
- "fieldtype": "Column Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "no_copy": 0,
- "oldfieldtype": "Column Break",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "c_form_no",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "C-Form No",
+ "no_copy": 1,
+ "options": "C-Form",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "posting_time",
- "fieldtype": "Time",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Posting Time",
- "no_copy": 1,
- "oldfieldname": "posting_time",
- "oldfieldtype": "Time",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "column_break8",
+ "fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
+ "oldfieldtype": "Column Break",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "fiscal_year",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 1,
- "in_list_view": 0,
- "label": "Fiscal Year",
- "no_copy": 0,
- "oldfieldname": "fiscal_year",
- "oldfieldtype": "Select",
- "options": "Fiscal Year",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 1,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "posting_time",
+ "fieldtype": "Time",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Posting Time",
+ "no_copy": 1,
+ "oldfieldname": "posting_time",
+ "oldfieldtype": "Time",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "remarks",
- "fieldtype": "Small Text",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Remarks",
- "no_copy": 1,
- "oldfieldname": "remarks",
- "oldfieldtype": "Text",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "fiscal_year",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 1,
+ "in_list_view": 0,
+ "label": "Fiscal Year",
+ "no_copy": 0,
+ "oldfieldname": "fiscal_year",
+ "oldfieldtype": "Select",
+ "options": "Fiscal Year",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 1,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 1,
- "collapsible_depends_on": "sales_partner",
- "fieldname": "sales_team_section_break",
- "fieldtype": "Section Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Commission",
- "no_copy": 0,
- "oldfieldtype": "Section Break",
- "options": "icon-group",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "remarks",
+ "fieldtype": "Small Text",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Remarks",
+ "no_copy": 1,
+ "oldfieldname": "remarks",
+ "oldfieldtype": "Text",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "sales_partner",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 1,
- "in_list_view": 0,
- "label": "Sales Partner",
- "no_copy": 0,
- "oldfieldname": "sales_partner",
- "oldfieldtype": "Link",
- "options": "Sales Partner",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 1,
+ "collapsible_depends_on": "sales_partner",
+ "fieldname": "sales_team_section_break",
+ "fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Commission",
+ "no_copy": 0,
+ "oldfieldtype": "Section Break",
+ "options": "icon-group",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "column_break10",
- "fieldtype": "Column Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "no_copy": 0,
- "oldfieldtype": "Column Break",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "unique": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "sales_partner",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 1,
+ "in_list_view": 0,
+ "label": "Sales Partner",
+ "no_copy": 0,
+ "oldfieldname": "sales_partner",
+ "oldfieldtype": "Link",
+ "options": "Sales Partner",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "column_break10",
+ "fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
+ "oldfieldtype": "Column Break",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0,
"width": "50%"
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "commission_rate",
- "fieldtype": "Float",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Commission Rate (%)",
- "no_copy": 0,
- "oldfieldname": "commission_rate",
- "oldfieldtype": "Currency",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "commission_rate",
+ "fieldtype": "Float",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Commission Rate (%)",
+ "no_copy": 0,
+ "oldfieldname": "commission_rate",
+ "oldfieldtype": "Currency",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "total_commission",
- "fieldtype": "Currency",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Total Commission",
- "no_copy": 0,
- "oldfieldname": "total_commission",
- "oldfieldtype": "Currency",
- "options": "Company:company:default_currency",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "total_commission",
+ "fieldtype": "Currency",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Total Commission",
+ "no_copy": 0,
+ "oldfieldname": "total_commission",
+ "oldfieldtype": "Currency",
+ "options": "Company:company:default_currency",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 1,
- "collapsible_depends_on": "sales_team",
- "fieldname": "section_break2",
- "fieldtype": "Section Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Sales Team",
- "no_copy": 0,
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 1,
+ "collapsible_depends_on": "sales_team",
+ "fieldname": "section_break2",
+ "fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Sales Team",
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "sales_team",
- "fieldtype": "Table",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Sales Team1",
- "no_copy": 0,
- "oldfieldname": "sales_team",
- "oldfieldtype": "Table",
- "options": "Sales Team",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "sales_team",
+ "fieldtype": "Table",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Sales Team1",
+ "no_copy": 0,
+ "oldfieldname": "sales_team",
+ "oldfieldtype": "Table",
+ "options": "Sales Team",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 1,
- "collapsible_depends_on": "is_recurring",
- "depends_on": "eval:doc.docstatus<2",
- "fieldname": "recurring_invoice",
- "fieldtype": "Section Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Recurring",
- "no_copy": 0,
- "options": "icon-time",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 1,
+ "collapsible_depends_on": "is_recurring",
+ "depends_on": "eval:doc.docstatus<2",
+ "fieldname": "recurring_invoice",
+ "fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Recurring",
+ "no_copy": 0,
+ "options": "icon-time",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "column_break11",
- "fieldtype": "Column Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "no_copy": 0,
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "unique": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "column_break11",
+ "fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0,
"width": "50%"
- },
+ },
{
- "allow_on_submit": 1,
- "bold": 0,
- "collapsible": 0,
- "depends_on": "eval:doc.docstatus<2",
- "description": "Check if recurring invoice, uncheck to stop recurring or put proper End Date",
- "fieldname": "is_recurring",
- "fieldtype": "Check",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Is Recurring",
- "no_copy": 1,
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 1,
+ "bold": 0,
+ "collapsible": 0,
+ "depends_on": "eval:doc.docstatus<2",
+ "description": "Check if recurring invoice, uncheck to stop recurring or put proper End Date",
+ "fieldname": "is_recurring",
+ "fieldtype": "Check",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Is Recurring",
+ "no_copy": 1,
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 1,
- "bold": 0,
- "collapsible": 0,
- "depends_on": "eval:doc.is_recurring==1",
- "description": "Select the period when the invoice will be generated automatically",
- "fieldname": "recurring_type",
- "fieldtype": "Select",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Recurring Type",
- "no_copy": 1,
- "options": "\nMonthly\nQuarterly\nHalf-yearly\nYearly",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 1,
+ "bold": 0,
+ "collapsible": 0,
+ "depends_on": "eval:doc.is_recurring==1",
+ "description": "Select the period when the invoice will be generated automatically",
+ "fieldname": "recurring_type",
+ "fieldtype": "Select",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Recurring Type",
+ "no_copy": 1,
+ "options": "\nMonthly\nQuarterly\nHalf-yearly\nYearly",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 1,
- "bold": 0,
- "collapsible": 0,
- "depends_on": "eval:doc.is_recurring==1",
- "description": "Start date of current invoice's period",
- "fieldname": "from_date",
- "fieldtype": "Date",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "From Date",
- "no_copy": 1,
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 1,
+ "bold": 0,
+ "collapsible": 0,
+ "depends_on": "eval:doc.is_recurring==1",
+ "description": "Start date of current invoice's period",
+ "fieldname": "from_date",
+ "fieldtype": "Date",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "From Date",
+ "no_copy": 1,
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 1,
- "bold": 0,
- "collapsible": 0,
- "depends_on": "eval:doc.is_recurring==1",
- "description": "End date of current invoice's period",
- "fieldname": "to_date",
- "fieldtype": "Date",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "To Date",
- "no_copy": 1,
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 1,
+ "bold": 0,
+ "collapsible": 0,
+ "depends_on": "eval:doc.is_recurring==1",
+ "description": "End date of current invoice's period",
+ "fieldname": "to_date",
+ "fieldtype": "Date",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "To Date",
+ "no_copy": 1,
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 1,
- "bold": 0,
- "collapsible": 0,
- "depends_on": "eval:doc.is_recurring==1",
- "description": "The day of the month on which auto invoice will be generated e.g. 05, 28 etc ",
- "fieldname": "repeat_on_day_of_month",
- "fieldtype": "Int",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Repeat on Day of Month",
- "no_copy": 1,
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 1,
+ "bold": 0,
+ "collapsible": 0,
+ "depends_on": "eval:doc.is_recurring==1",
+ "description": "The day of the month on which auto invoice will be generated e.g. 05, 28 etc ",
+ "fieldname": "repeat_on_day_of_month",
+ "fieldtype": "Int",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Repeat on Day of Month",
+ "no_copy": 1,
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 1,
- "bold": 0,
- "collapsible": 0,
- "depends_on": "eval:doc.is_recurring==1",
- "description": "The date on which recurring invoice will be stop",
- "fieldname": "end_date",
- "fieldtype": "Date",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "End Date",
- "no_copy": 1,
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 1,
+ "bold": 0,
+ "collapsible": 0,
+ "depends_on": "eval:doc.is_recurring==1",
+ "description": "The date on which recurring invoice will be stop",
+ "fieldname": "end_date",
+ "fieldtype": "Date",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "End Date",
+ "no_copy": 1,
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "column_break12",
- "fieldtype": "Column Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "no_copy": 0,
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "unique": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "column_break12",
+ "fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0,
"width": "50%"
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "depends_on": "eval:doc.is_recurring==1",
- "description": "The date on which next invoice will be generated. It is generated on submit.\n",
- "fieldname": "next_date",
- "fieldtype": "Date",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Next Date",
- "no_copy": 1,
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "depends_on": "eval:doc.is_recurring==1",
+ "description": "The date on which next invoice will be generated. It is generated on submit.\n",
+ "fieldname": "next_date",
+ "fieldtype": "Date",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Next Date",
+ "no_copy": 1,
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "depends_on": "eval:doc.is_recurring==1",
- "description": "The unique id for tracking all recurring invoices.\u00a0It is generated on submit.",
- "fieldname": "recurring_id",
- "fieldtype": "Data",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Recurring Id",
- "no_copy": 1,
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "depends_on": "eval:doc.is_recurring==1",
+ "description": "The unique id for tracking all recurring invoices.\u00a0It is generated on submit.",
+ "fieldname": "recurring_id",
+ "fieldtype": "Data",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Recurring Id",
+ "no_copy": 1,
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 1,
- "bold": 0,
- "collapsible": 0,
- "depends_on": "eval:doc.is_recurring==1",
- "description": "Enter email id separated by commas, invoice will be mailed automatically on particular date",
- "fieldname": "notification_email_address",
- "fieldtype": "Small Text",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Notification Email Address",
- "no_copy": 1,
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 1,
+ "bold": 0,
+ "collapsible": 0,
+ "depends_on": "eval:doc.is_recurring==1",
+ "description": "Enter email id separated by commas, invoice will be mailed automatically on particular date",
+ "fieldname": "notification_email_address",
+ "fieldtype": "Small Text",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Notification Email Address",
+ "no_copy": 1,
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "depends_on": "eval:doc.is_recurring==1",
- "fieldname": "recurring_print_format",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Recurring Print Format",
- "no_copy": 0,
- "options": "Print Format",
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "depends_on": "eval:doc.is_recurring==1",
+ "fieldname": "recurring_print_format",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Recurring Print Format",
+ "no_copy": 0,
+ "options": "Print Format",
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "against_income_account",
- "fieldtype": "Small Text",
- "hidden": 1,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Against Income Account",
- "no_copy": 1,
- "oldfieldname": "against_income_account",
- "oldfieldtype": "Small Text",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 1,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "against_income_account",
+ "fieldtype": "Small Text",
+ "hidden": 1,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Against Income Account",
+ "no_copy": 1,
+ "oldfieldname": "against_income_account",
+ "oldfieldtype": "Small Text",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 1,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
}
- ],
- "hide_heading": 0,
- "hide_toolbar": 0,
- "icon": "icon-file-text",
- "idx": 1,
- "in_create": 0,
- "in_dialog": 0,
- "is_submittable": 1,
- "issingle": 0,
- "istable": 0,
- "modified": "2015-09-07 15:51:26",
- "modified_by": "Administrator",
- "module": "Accounts",
- "name": "Sales Invoice",
- "owner": "Administrator",
+ ],
+ "hide_heading": 0,
+ "hide_toolbar": 0,
+ "icon": "icon-file-text",
+ "idx": 1,
+ "in_create": 0,
+ "in_dialog": 0,
+ "is_submittable": 1,
+ "issingle": 0,
+ "istable": 0,
+ "modified": "2015-09-11 12:21:06.545927",
+ "modified_by": "Administrator",
+ "module": "Accounts",
+ "name": "Sales Invoice",
+ "owner": "Administrator",
"permissions": [
{
- "amend": 1,
- "apply_user_permissions": 0,
- "cancel": 1,
- "create": 1,
- "delete": 1,
- "email": 1,
- "export": 0,
- "if_owner": 0,
- "import": 0,
- "permlevel": 0,
- "print": 1,
- "read": 1,
- "report": 1,
- "role": "Accounts Manager",
- "set_user_permissions": 0,
- "share": 1,
- "submit": 1,
+ "amend": 1,
+ "apply_user_permissions": 0,
+ "cancel": 1,
+ "create": 1,
+ "delete": 1,
+ "email": 1,
+ "export": 0,
+ "if_owner": 0,
+ "import": 0,
+ "permlevel": 0,
+ "print": 1,
+ "read": 1,
+ "report": 1,
+ "role": "Accounts Manager",
+ "set_user_permissions": 0,
+ "share": 1,
+ "submit": 1,
"write": 1
- },
+ },
{
- "amend": 1,
- "apply_user_permissions": 0,
- "cancel": 0,
- "create": 1,
- "delete": 0,
- "email": 1,
- "export": 0,
- "if_owner": 0,
- "import": 0,
- "permlevel": 0,
- "print": 1,
- "read": 1,
- "report": 1,
- "role": "Accounts User",
- "set_user_permissions": 0,
- "share": 1,
- "submit": 1,
+ "amend": 1,
+ "apply_user_permissions": 0,
+ "cancel": 0,
+ "create": 1,
+ "delete": 0,
+ "email": 1,
+ "export": 0,
+ "if_owner": 0,
+ "import": 0,
+ "permlevel": 0,
+ "print": 1,
+ "read": 1,
+ "report": 1,
+ "role": "Accounts User",
+ "set_user_permissions": 0,
+ "share": 1,
+ "submit": 1,
"write": 1
- },
+ },
{
- "amend": 0,
- "apply_user_permissions": 0,
- "cancel": 0,
- "create": 0,
- "delete": 0,
- "email": 1,
- "export": 0,
- "if_owner": 0,
- "import": 0,
- "permlevel": 0,
- "print": 1,
- "read": 1,
- "report": 1,
- "role": "Customer",
- "set_user_permissions": 0,
- "share": 0,
- "submit": 0,
+ "amend": 0,
+ "apply_user_permissions": 0,
+ "cancel": 0,
+ "create": 0,
+ "delete": 0,
+ "email": 1,
+ "export": 0,
+ "if_owner": 0,
+ "import": 0,
+ "permlevel": 0,
+ "print": 1,
+ "read": 1,
+ "report": 1,
+ "role": "Customer",
+ "set_user_permissions": 0,
+ "share": 0,
+ "submit": 0,
"write": 0
- },
+ },
{
- "amend": 0,
- "apply_user_permissions": 0,
- "cancel": 0,
- "create": 0,
- "delete": 0,
- "email": 0,
- "export": 0,
- "if_owner": 0,
- "import": 0,
- "permlevel": 1,
- "print": 0,
- "read": 1,
- "report": 0,
- "role": "Accounts Manager",
- "set_user_permissions": 0,
- "share": 0,
- "submit": 0,
+ "amend": 0,
+ "apply_user_permissions": 0,
+ "cancel": 0,
+ "create": 0,
+ "delete": 0,
+ "email": 0,
+ "export": 0,
+ "if_owner": 0,
+ "import": 0,
+ "permlevel": 1,
+ "print": 0,
+ "read": 1,
+ "report": 0,
+ "role": "Accounts Manager",
+ "set_user_permissions": 0,
+ "share": 0,
+ "submit": 0,
"write": 1
}
- ],
- "read_only": 0,
- "read_only_onload": 1,
- "search_fields": "posting_date, due_date, customer, fiscal_year, base_grand_total, outstanding_amount",
- "sort_field": "modified",
- "sort_order": "DESC",
+ ],
+ "read_only": 0,
+ "read_only_onload": 1,
+ "search_fields": "posting_date, due_date, customer, fiscal_year, base_grand_total, outstanding_amount",
+ "sort_field": "modified",
+ "sort_order": "DESC",
"title_field": "title"
-}
\ No newline at end of file
+}
diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py
index 2ebe25d..030fddb 100644
--- a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py
+++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py
@@ -271,7 +271,7 @@
'party_type': 'Customer',
'party': self.customer,
'is_advance' : 'Yes',
- 'dr_or_cr' : 'credit',
+ 'dr_or_cr' : 'credit_in_account_currency',
'unadjusted_amt' : flt(d.advance_amount),
'allocated_amt' : flt(d.allocated_amount)
}
@@ -282,13 +282,16 @@
reconcile_against_document(lst)
def validate_debit_to_acc(self):
- account = frappe.db.get_value("Account", self.debit_to, ["account_type", "report_type"], as_dict=True)
+ account = frappe.db.get_value("Account", self.debit_to,
+ ["account_type", "report_type", "account_currency"], as_dict=True)
if account.report_type != "Balance Sheet":
frappe.throw(_("Debit To account must be a Balance Sheet account"))
if self.customer and account.account_type != "Receivable":
frappe.throw(_("Debit To account must be a Receivable account"))
+
+ self.party_account_currency = account.account_currency
def validate_fixed_asset_account(self):
"""Validate Fixed Asset and whether Income Account Entered Exists"""
@@ -434,15 +437,18 @@
if cint(self.is_pos) == 1:
if flt(self.paid_amount) == 0:
if self.cash_bank_account:
- frappe.db.set(self, 'paid_amount',
- (flt(self.base_grand_total) - flt(self.write_off_amount)))
+ frappe.db.set(self, 'paid_amount',
+ flt(flt(self.grand_total) - flt(self.write_off_amount), self.precision("paid_amount")))
else:
# show message that the amount is not paid
frappe.db.set(self,'paid_amount',0)
frappe.msgprint(_("Note: Payment Entry will not be created since 'Cash or Bank Account' was not specified"))
else:
frappe.db.set(self,'paid_amount',0)
-
+
+ frappe.db.set(self, 'base_paid_amount',
+ flt(self.paid_amount*self.conversion_rate, self.precision("base_paid_amount")))
+
def check_prev_docstatus(self):
for d in self.get('items'):
if d.sales_order and frappe.db.get_value("Sales Order", d.sales_order, "docstatus") != 1:
@@ -481,7 +487,7 @@
from erpnext.accounts.general_ledger import merge_similar_entries
gl_entries = []
-
+
self.make_customer_gl_entry(gl_entries)
self.make_tax_gl_entries(gl_entries)
@@ -498,7 +504,7 @@
return gl_entries
def make_customer_gl_entry(self, gl_entries):
- if self.base_grand_total:
+ if self.grand_total:
gl_entries.append(
self.get_gl_dict({
"account": self.debit_to,
@@ -506,37 +512,42 @@
"party": self.customer,
"against": self.against_income_account,
"debit": self.base_grand_total,
- "remarks": self.remarks,
+ "debit_in_account_currency": self.base_grand_total \
+ if self.party_account_currency==self.company_currency else self.grand_total,
"against_voucher": self.return_against if cint(self.is_return) else self.name,
"against_voucher_type": self.doctype
- })
+ }, self.party_account_currency)
)
def make_tax_gl_entries(self, gl_entries):
for tax in self.get("taxes"):
if flt(tax.base_tax_amount_after_discount_amount):
+ account_currency = frappe.db.get_value("Account", tax.account_head, "account_currency")
gl_entries.append(
self.get_gl_dict({
"account": tax.account_head,
"against": self.customer,
"credit": flt(tax.base_tax_amount_after_discount_amount),
- "remarks": self.remarks,
+ "credit_in_account_currency": flt(tax.base_tax_amount_after_discount_amount) \
+ if account_currency==self.company_currency else flt(tax.tax_amount_after_discount_amount),
"cost_center": tax.cost_center
- })
+ }, account_currency)
)
def make_item_gl_entries(self, gl_entries):
# income account gl entries
for item in self.get("items"):
if flt(item.base_net_amount):
+ account_currency = frappe.db.get_value("Account", item.income_account, "account_currency")
gl_entries.append(
self.get_gl_dict({
"account": item.income_account,
"against": self.customer,
"credit": item.base_net_amount,
- "remarks": self.remarks,
+ "credit_in_account_currency": item.base_net_amount \
+ if account_currency==self.company_currency else item.net_amount,
"cost_center": item.cost_center
- })
+ }, account_currency)
)
# expense account gl entries
@@ -546,6 +557,7 @@
def make_pos_gl_entries(self, gl_entries):
if cint(self.is_pos) and self.cash_bank_account and self.paid_amount:
+ bank_account_currency = frappe.db.get_value("Account", self.cash_bank_account, "account_currency")
# POS, make payment entries
gl_entries.append(
self.get_gl_dict({
@@ -553,44 +565,50 @@
"party_type": "Customer",
"party": self.customer,
"against": self.cash_bank_account,
- "credit": self.paid_amount,
- "remarks": self.remarks,
+ "credit": self.base_paid_amount,
+ "credit_in_account_currency": self.base_paid_amount \
+ if self.party_account_currency==self.company_currency else self.paid_amount,
"against_voucher": self.return_against if cint(self.is_return) else self.name,
"against_voucher_type": self.doctype,
- })
+ }, self.party_account_currency)
)
gl_entries.append(
self.get_gl_dict({
"account": self.cash_bank_account,
"against": self.customer,
- "debit": self.paid_amount,
- "remarks": self.remarks,
- })
+ "debit": self.base_paid_amount,
+ "debit_in_account_currency": self.base_paid_amount \
+ if bank_account_currency==self.company_currency else self.paid_amount
+ }, bank_account_currency)
)
def make_write_off_gl_entry(self, gl_entries):
# write off entries, applicable if only pos
if self.write_off_account and self.write_off_amount:
+ write_off_account_currency = frappe.db.get_value("Account", self.write_off_account, "account_currency")
+
gl_entries.append(
self.get_gl_dict({
"account": self.debit_to,
"party_type": "Customer",
"party": self.customer,
"against": self.write_off_account,
- "credit": self.write_off_amount,
- "remarks": self.remarks,
+ "credit": self.base_write_off_amount,
+ "credit_in_account_currency": self.base_write_off_amount \
+ if self.party_account_currency==self.company_currency else self.write_off_amount,
"against_voucher": self.return_against if cint(self.is_return) else self.name,
- "against_voucher_type": self.doctype,
- })
+ "against_voucher_type": self.doctype
+ }, self.party_account_currency)
)
gl_entries.append(
self.get_gl_dict({
"account": self.write_off_account,
"against": self.customer,
- "debit": self.write_off_amount,
- "remarks": self.remarks,
+ "debit": self.base_write_off_amount,
+ "debit_in_account_currency": self.base_write_off_amount \
+ if write_off_account_currency==self.company_currency else self.write_off_amount,
"cost_center": self.write_off_cost_center
- })
+ }, write_off_account_currency)
)
def get_list_context(context=None):
diff --git a/erpnext/accounts/doctype/sales_invoice/test_sales_invoice.py b/erpnext/accounts/doctype/sales_invoice/test_sales_invoice.py
index c7a992c..449f98d 100644
--- a/erpnext/accounts/doctype/sales_invoice/test_sales_invoice.py
+++ b/erpnext/accounts/doctype/sales_invoice/test_sales_invoice.py
@@ -7,6 +7,8 @@
from frappe.utils import nowdate, add_days, flt
from erpnext.stock.doctype.stock_entry.test_stock_entry import make_stock_entry, get_qty_after_transaction
from erpnext.stock.doctype.purchase_receipt.test_purchase_receipt import set_perpetual_inventory
+from erpnext.controllers.accounts_controller import InvalidCurrency
+from erpnext.accounts.doctype.gl_entry.gl_entry import InvalidAccountCurrency
class TestSalesInvoice(unittest.TestCase):
def make(self):
@@ -401,7 +403,7 @@
jv.cancel()
self.assertEquals(frappe.db.get_value("Sales Invoice", w.name, "outstanding_amount"), 561.8)
- def test_sales_invoice_gl_entry_without_aii(self):
+ def test_sales_invoice_gl_entry_without_perpetual_inventory(self):
set_perpetual_inventory(0)
si = frappe.copy_doc(test_records[1])
si.insert()
@@ -433,7 +435,7 @@
self.assertFalse(gle)
- def test_pos_gl_entry_with_aii(self):
+ def test_pos_gl_entry_with_perpetual_inventory(self):
set_perpetual_inventory()
self.make_pos_profile()
@@ -442,8 +444,7 @@
pos = copy.deepcopy(test_records[1])
pos["is_pos"] = 1
pos["update_stock"] = 1
- # pos["posting_time"] = "12:05"
- pos["cash_bank_account"] = "_Test Account Bank Account - _TC"
+ pos["cash_bank_account"] = "_Test Bank - _TC"
pos["paid_amount"] = 600.0
si = frappe.copy_doc(pos)
@@ -474,7 +475,7 @@
[stock_in_hand, 0.0, abs(sle.stock_value_difference)],
[pos["items"][0]["expense_account"], abs(sle.stock_value_difference), 0.0],
[si.debit_to, 0.0, 600.0],
- ["_Test Account Bank Account - _TC", 600.0, 0.0]
+ ["_Test Bank - _TC", 600.0, 0.0]
])
for i, gle in enumerate(sorted(gl_entries, key=lambda gle: gle.account)):
@@ -494,7 +495,7 @@
def make_pos_profile(self):
pos_profile = frappe.get_doc({
- "cash_bank_account": "_Test Account Bank Account - _TC",
+ "cash_bank_account": "_Test Bank - _TC",
"company": "_Test Company",
"cost_center": "_Test Cost Center - _TC",
"currency": "INR",
@@ -513,7 +514,7 @@
if not frappe.db.exists("POS Profile", "_Test POS Profile"):
pos_profile.insert()
- def test_si_gl_entry_with_aii_and_update_stock_with_warehouse_but_no_account(self):
+ def test_si_gl_entry_with_perpetual_inventory_and_update_stock_with_warehouse_but_no_account(self):
set_perpetual_inventory()
frappe.delete_doc("Account", "_Test Warehouse No Account - _TC")
@@ -567,7 +568,7 @@
self.assertFalse(gle)
set_perpetual_inventory(0)
- def test_sales_invoice_gl_entry_with_aii_no_item_code(self):
+ def test_sales_invoice_gl_entry_with_perpetual_inventory_no_item_code(self):
set_perpetual_inventory()
si = frappe.get_doc(test_records[1])
@@ -593,7 +594,7 @@
set_perpetual_inventory(0)
- def test_sales_invoice_gl_entry_with_aii_non_stock_item(self):
+ def test_sales_invoice_gl_entry_with_perpetual_inventory_non_stock_item(self):
set_perpetual_inventory()
si = frappe.get_doc(test_records[1])
si.get("items")[0].item_code = "_Test Non Stock Item"
@@ -660,7 +661,7 @@
where reference_name=%s""", si.name))
self.assertTrue(frappe.db.sql("""select name from `tabJournal Entry Account`
- where reference_name=%s and credit=300""", si.name))
+ where reference_name=%s and credit_in_account_currency=300""", si.name))
self.assertEqual(si.outstanding_amount, 261.8)
@@ -841,7 +842,80 @@
self.assertEquals(si.total_taxes_and_charges, 234.44)
self.assertEquals(si.base_grand_total, 859.44)
self.assertEquals(si.grand_total, 859.44)
+
+ def test_multi_currency_gle(self):
+ set_perpetual_inventory(0)
+ si = create_sales_invoice(customer="_Test Customer USD", debit_to="_Test Receivable USD - _TC",
+ currency="USD", conversion_rate=50)
+ gl_entries = frappe.db.sql("""select account, account_currency, debit, credit,
+ debit_in_account_currency, credit_in_account_currency
+ from `tabGL Entry` where voucher_type='Sales Invoice' and voucher_no=%s
+ order by account asc""", si.name, as_dict=1)
+
+ self.assertTrue(gl_entries)
+
+ expected_values = {
+ "_Test Receivable USD - _TC": {
+ "account_currency": "USD",
+ "debit": 5000,
+ "debit_in_account_currency": 100,
+ "credit": 0,
+ "credit_in_account_currency": 0
+ },
+ "Sales - _TC": {
+ "account_currency": "INR",
+ "debit": 0,
+ "debit_in_account_currency": 0,
+ "credit": 5000,
+ "credit_in_account_currency": 5000
+ }
+ }
+
+ for field in ("account_currency", "debit", "debit_in_account_currency", "credit", "credit_in_account_currency"):
+ for i, gle in enumerate(gl_entries):
+ self.assertEquals(expected_values[gle.account][field], gle[field])
+
+ # cancel
+ si.cancel()
+
+ gle = frappe.db.sql("""select name from `tabGL Entry`
+ where voucher_type='Sales Invoice' and voucher_no=%s""", si.name)
+
+ self.assertFalse(gle)
+
+ def test_invalid_currency(self):
+ # Customer currency = USD
+
+ # Transaction currency cannot be INR
+ si1 = create_sales_invoice(customer="_Test Customer USD", debit_to="_Test Receivable USD - _TC",
+ do_not_save=True)
+
+ self.assertRaises(InvalidCurrency, si1.save)
+
+ # Transaction currency cannot be EUR
+ si2 = create_sales_invoice(customer="_Test Customer USD", debit_to="_Test Receivable USD - _TC",
+ currency="EUR", conversion_rate=80, do_not_save=True)
+
+ self.assertRaises(InvalidCurrency, si2.save)
+
+ # Transaction currency only allowed in USD
+ si3 = create_sales_invoice(customer="_Test Customer USD", debit_to="_Test Receivable USD - _TC",
+ currency="USD", conversion_rate=50)
+
+ # Party Account currency must be in USD, as there is existing GLE with USD
+ si4 = create_sales_invoice(customer="_Test Customer USD", debit_to="_Test Receivable - _TC",
+ currency="USD", conversion_rate=50, do_not_submit=True)
+
+ self.assertRaises(InvalidAccountCurrency, si4.submit)
+
+ # Party Account currency must be in USD, force customer currency as there is no GLE
+
+ si3.cancel()
+ si5 = create_sales_invoice(customer="_Test Customer USD", debit_to="_Test Receivable - _TC",
+ currency="USD", conversion_rate=50, do_not_submit=True)
+
+ self.assertRaises(InvalidAccountCurrency, si5.submit)
def create_sales_invoice(**args):
si = frappe.new_doc("Sales Invoice")
@@ -856,14 +930,15 @@
si.is_pos = args.is_pos
si.is_return = args.is_return
si.return_against = args.return_against
- si.currency="INR"
- si.conversion_rate = 1
+ si.currency=args.currency or "INR"
+ si.conversion_rate = args.conversion_rate or 1
si.append("items", {
"item_code": args.item or args.item_code or "_Test Item",
"warehouse": args.warehouse or "_Test Warehouse - _TC",
"qty": args.qty or 1,
"rate": args.rate or 100,
+ "income_account": "Sales - _TC",
"expense_account": "Cost of Goods Sold - _TC",
"cost_center": "_Test Cost Center - _TC",
"serial_no": args.serial_no
diff --git a/erpnext/accounts/doctype/sales_invoice_advance/sales_invoice_advance.json b/erpnext/accounts/doctype/sales_invoice_advance/sales_invoice_advance.json
index e4c039c..363e323 100644
--- a/erpnext/accounts/doctype/sales_invoice_advance/sales_invoice_advance.json
+++ b/erpnext/accounts/doctype/sales_invoice_advance/sales_invoice_advance.json
@@ -117,7 +117,7 @@
"no_copy": 1,
"oldfieldname": "advance_amount",
"oldfieldtype": "Currency",
- "options": "Company:company:default_currency",
+ "options": "party_account_currency",
"permlevel": 0,
"print_hide": 0,
"print_width": "120px",
@@ -143,7 +143,7 @@
"no_copy": 1,
"oldfieldname": "allocated_amount",
"oldfieldtype": "Currency",
- "options": "Company:company:default_currency",
+ "options": "party_account_currency",
"permlevel": 0,
"print_hide": 0,
"print_width": "120px",
@@ -164,7 +164,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 1,
- "modified": "2014-12-25 16:30:19.446500",
+ "modified": "2015-08-21 16:22:28.866049",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Sales Invoice Advance",
diff --git a/erpnext/accounts/doctype/sales_taxes_and_charges_template/sales_taxes_and_charges_template.json b/erpnext/accounts/doctype/sales_taxes_and_charges_template/sales_taxes_and_charges_template.json
index bbba7d3..9a3a458 100644
--- a/erpnext/accounts/doctype/sales_taxes_and_charges_template/sales_taxes_and_charges_template.json
+++ b/erpnext/accounts/doctype/sales_taxes_and_charges_template/sales_taxes_and_charges_template.json
@@ -8,7 +8,7 @@
"description": "Standard tax template that can be applied to all Sales Transactions. This template can contain list of tax heads and also other expense / income heads like \"Shipping\", \"Insurance\", \"Handling\" etc.\n\n#### Note\n\nThe tax rate you define here will be the standard tax rate for all **Items**. If there are **Items** that have different rates, they must be added in the **Item Tax** table in the **Item** master.\n\n#### Description of Columns\n\n1. Calculation Type: \n - This can be on **Net Total** (that is the sum of basic amount).\n - **On Previous Row Total / Amount** (for cumulative taxes or charges). If you select this option, the tax will be applied as a percentage of the previous row (in the tax table) amount or total.\n - **Actual** (as mentioned).\n2. Account Head: The Account ledger under which this tax will be booked\n3. Cost Center: If the tax / charge is an income (like shipping) or expense it needs to be booked against a Cost Center.\n4. Description: Description of the tax (that will be printed in invoices / quotes).\n5. Rate: Tax rate.\n6. Amount: Tax amount.\n7. Total: Cumulative total to this point.\n8. Enter Row: If based on \"Previous Row Total\" you can select the row number which will be taken as a base for this calculation (default is the previous row).\n9. Is this Tax included in Basic Rate?: If you check this, it means that this tax will not be shown below the item table, but will be included in the Basic Rate in your main item table. This is useful where you want give a flat price (inclusive of all taxes) price to customers.",
"docstatus": 0,
"doctype": "DocType",
- "document_type": "Master",
+ "document_type": "Setup",
"fields": [
{
"allow_on_submit": 0,
@@ -21,7 +21,7 @@
"in_filter": 1,
"in_list_view": 0,
"label": "Title",
- "no_copy": 0,
+ "no_copy": 1,
"oldfieldname": "title",
"oldfieldtype": "Data",
"permlevel": 0,
@@ -198,7 +198,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
- "modified": "2015-09-07 15:51:26",
+ "modified": "2015-09-11 12:19:46.488710",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Sales Taxes and Charges Template",
diff --git a/erpnext/accounts/general_ledger.py b/erpnext/accounts/general_ledger.py
index 7edd69f..ed2a049 100644
--- a/erpnext/accounts/general_ledger.py
+++ b/erpnext/accounts/general_ledger.py
@@ -27,14 +27,25 @@
gl_map = merge_similar_entries(gl_map)
for entry in gl_map:
- # toggle debit, credit if negative entry
+ # toggle debit, credit if negative entry
if flt(entry.debit) < 0:
entry.credit = flt(entry.credit) - flt(entry.debit)
entry.debit = 0.0
+
+ if flt(entry.debit_in_account_currency) < 0:
+ entry.credit_in_account_currency = \
+ flt(entry.credit_in_account_currency) - flt(entry.debit_in_account_currency)
+ entry.debit_in_account_currency = 0.0
+
if flt(entry.credit) < 0:
entry.debit = flt(entry.debit) - flt(entry.credit)
entry.credit = 0.0
-
+
+ if flt(entry.credit_in_account_currency) < 0:
+ entry.debit_in_account_currency = \
+ flt(entry.debit_in_account_currency) - flt(entry.credit_in_account_currency)
+ entry.credit_in_account_currency = 0.0
+
return gl_map
def merge_similar_entries(gl_map):
@@ -45,7 +56,11 @@
same_head = check_if_in_list(entry, merged_gl_map)
if same_head:
same_head.debit = flt(same_head.debit) + flt(entry.debit)
+ same_head.debit_in_account_currency = \
+ flt(same_head.debit_in_account_currency) + flt(entry.debit_in_account_currency)
same_head.credit = flt(same_head.credit) + flt(entry.credit)
+ same_head.credit_in_account_currency = \
+ flt(same_head.credit_in_account_currency) + flt(entry.credit_in_account_currency)
else:
merged_gl_map.append(entry)
diff --git a/erpnext/accounts/page/accounts_browser/accounts_browser.js b/erpnext/accounts/page/accounts_browser/accounts_browser.js
index 157a924..abd7612 100644
--- a/erpnext/accounts/page/accounts_browser/accounts_browser.js
+++ b/erpnext/accounts/page/accounts_browser/accounts_browser.js
@@ -166,7 +166,7 @@
var dr_or_cr = node.data.balance < 0 ? "Cr" : "Dr";
if (me.ctype == 'Account' && node.data && node.data.balance!==undefined) {
$('<span class="balance-area pull-right text-muted small">'
- + format_currency(Math.abs(node.data.balance), node.data.currency)
+ + format_currency(Math.abs(node.data.balance), node.data.account_currency)
+ " " + dr_or_cr
+ '</span>').insertBefore(node.$ul);
}
@@ -214,7 +214,8 @@
'Income Account', 'Tax', 'Chargeable', 'Temporary'].join('\n'),
description: __("Optional. This setting will be used to filter in various transactions.") },
{fieldtype:'Float', fieldname:'tax_rate', label:__('Tax Rate')},
- {fieldtype:'Link', fieldname:'warehouse', label:__('Warehouse'), options:"Warehouse"}
+ {fieldtype:'Link', fieldname:'warehouse', label:__('Warehouse'), options:"Warehouse"},
+ {fieldtype:'Link', fieldname:'account_currency', label:__('Currency'), options:"Currency"}
]
})
diff --git a/erpnext/accounts/page/accounts_browser/accounts_browser.py b/erpnext/accounts/page/accounts_browser/accounts_browser.py
index 593794a..80101ce 100644
--- a/erpnext/accounts/page/accounts_browser/accounts_browser.py
+++ b/erpnext/accounts/page/accounts_browser/accounts_browser.py
@@ -21,8 +21,7 @@
# root
if args['parent'] in ("Accounts", "Cost Centers"):
- select_cond = ", root_type, report_type" if args["parent"]=="Accounts" else ""
-
+ select_cond = ", root_type, report_type, account_currency" if ctype=="Account" else ""
acc = frappe.db.sql(""" select
name as value, is_group as expandable %s
from `tab%s`
@@ -35,19 +34,17 @@
sort_root_accounts(acc)
else:
# other
+ select_cond = ", account_currency" if ctype=="Account" else ""
acc = frappe.db.sql("""select
- name as value, is_group as expandable
+ name as value, is_group as expandable %s
from `tab%s`
where ifnull(parent_%s,'') = %s
and docstatus<2
- order by name""" % (ctype, ctype.lower().replace(' ','_'), '%s'),
+ order by name""" % (select_cond, ctype, ctype.lower().replace(' ','_'), '%s'),
args['parent'], as_dict=1)
if ctype == 'Account':
- currency = frappe.db.sql("select default_currency from `tabCompany` where name = %s", company)[0][0]
for each in acc:
- bal = get_balance_on(each.get("value"))
- each["currency"] = currency
- each["balance"] = flt(bal)
+ each["balance"] = flt(get_balance_on(each.get("value")))
return acc
diff --git a/erpnext/accounts/party.py b/erpnext/accounts/party.py
index 250286c..4f49bc0 100644
--- a/erpnext/accounts/party.py
+++ b/erpnext/accounts/party.py
@@ -7,10 +7,13 @@
import datetime
from frappe import _, msgprint, scrub
from frappe.defaults import get_user_permissions
-from frappe.utils import add_days, getdate, formatdate, flt, get_first_day, date_diff, nowdate
+from frappe.utils import add_days, getdate, formatdate, get_first_day, date_diff
from erpnext.utilities.doctype.address.address import get_address_display
from erpnext.utilities.doctype.contact.contact import get_contact_details
+class InvalidCurrency(frappe.ValidationError): pass
+class InvalidAccountCurrency(frappe.ValidationError): pass
+
@frappe.whitelist()
def get_party_details(party=None, account=None, party_type="Customer", company=None,
posting_date=None, price_list=None, currency=None, doctype=None):
@@ -141,7 +144,61 @@
"due_date": get_due_date(posting_date, party_type, party, company)
}
return out
-
+
+def validate_accounting_currency(party):
+ company_currency = get_company_currency()
+
+ # set party account currency
+ if not party.party_account_currency:
+ if party.default_currency:
+ party.party_account_currency = party.default_currency
+ elif len(set(company_currency.values())) == 1:
+ party.party_account_currency = company_currency.values()[0]
+
+ party_account_currency_in_db = frappe.db.get_value(party.doctype, party.name, "party_account_currency")
+ if party_account_currency_in_db != party.party_account_currency:
+ existing_gle = frappe.db.get_value("GL Entry", {"party_type": party.doctype,
+ "party": party.name}, ["name", "account_currency"], as_dict=1)
+ if existing_gle:
+ if party_account_currency_in_db:
+ frappe.throw(_("Accounting Currency cannot be changed, as GL Entry exists for this {0}")
+ .format(party.doctype), InvalidCurrency)
+ else:
+ party.party_account_currency = existing_gle.account_currency
+
+
+def validate_party_account(party):
+ company_currency = get_company_currency()
+ if party.party_account_currency:
+ companies_with_different_currency = []
+ for company, currency in company_currency.items():
+ if currency != party.party_account_currency:
+ companies_with_different_currency.append(company)
+
+ for d in party.get("accounts"):
+ if d.company in companies_with_different_currency:
+ companies_with_different_currency.remove(d.company)
+
+ selected_account_currency = frappe.db.get_value("Account", d.account, "account_currency")
+ if selected_account_currency != party.party_account_currency:
+ frappe.throw(_("Account {0} is invalid, account currency must be {1}")
+ .format(d.account, selected_account_currency), InvalidAccountCurrency)
+
+ if companies_with_different_currency:
+ frappe.msgprint(_("Please mention Default {0} Account for the following companies, as accounting currency is different from company's default currency: {1}")
+ .format(
+ "Receivable" if party.doctype=="Customer" else "Payable",
+ "\n" + "\n".join(companies_with_different_currency)
+ )
+ )
+
+def get_company_currency():
+ company_currency = frappe._dict()
+ for d in frappe.get_all("Company", fields=["name", "default_currency"]):
+ company_currency.setdefault(d.name, d.default_currency)
+
+ return company_currency
+
@frappe.whitelist()
def get_party_account(company, party, party_type):
"""Returns the account for the given `party`.
diff --git a/erpnext/accounts/report/accounts_receivable/accounts_receivable.py b/erpnext/accounts/report/accounts_receivable/accounts_receivable.py
index 19703be..21bd570 100644
--- a/erpnext/accounts/report/accounts_receivable/accounts_receivable.py
+++ b/erpnext/accounts/report/accounts_receivable/accounts_receivable.py
@@ -30,19 +30,40 @@
if args.get("party_type") == "Supplier":
columns += [_("Bill No") + "::80", _("Bill Date") + ":Date:80"]
- columns += [_("Invoiced Amount") + ":Currency:100", _("Paid Amount") + ":Currency:100",
- _("Outstanding Amount") + ":Currency:100", _("Age") + ":Int:50",
- "0-" + str(self.filters.range1) + ":Currency:100",
- str(self.filters.range1) + "-" + str(self.filters.range2) + ":Currency:100",
- str(self.filters.range2) + "-" + str(self.filters.range3) + ":Currency:100",
- str(self.filters.range3) + _("-Above") + ":Currency:100"
- ]
+ for label in ("Invoiced Amount", "Paid Amount", "Outstanding Amount"):
+ columns.append({
+ "label": label,
+ "fieldtype": "Currency",
+ "options": "currency",
+ "width": 120
+ })
+
+ columns += [_("Age (Days)") + "::80"]
+
+ for label in ("0-{range1}".format(**self.filters),
+ "{range1}-{range2}".format(**self.filters),
+ "{range2}-{range3}".format(**self.filters),
+ "{range3}-{above}".format(range3=self.filters.range3, above=_("Above"))):
+ columns.append({
+ "label": label,
+ "fieldtype": "Currency",
+ "options": "currency",
+ "width": 120
+ })
if args.get("party_type") == "Customer":
columns += [_("Territory") + ":Link/Territory:80"]
if args.get("party_type") == "Supplier":
columns += [_("Supplier Type") + ":Link/Supplier Type:80"]
- columns += [_("Remarks") + "::200"]
+ columns += [
+ {
+ "fieldname": "currency",
+ "label": _("Currency"),
+ "fieldtype": "Data",
+ "width": 100,
+ },
+ _("Remarks") + "::200"
+ ]
return columns
@@ -54,7 +75,9 @@
voucher_details = self.get_voucher_details(args.get("party_type"))
future_vouchers = self.get_entries_after(self.filters.report_date, args.get("party_type"))
-
+
+ company_currency = frappe.db.get_value("Company", self.filters.get("company"), "default_currency")
+
data = []
for gle in self.get_entries_till(self.filters.report_date, args.get("party_type")):
if self.is_receivable_or_payable(gle, dr_or_cr, future_vouchers):
@@ -91,10 +114,16 @@
# customer territory / supplier type
if args.get("party_type") == "Customer":
- row += [self.get_territory(gle.party), gle.remarks]
+ row += [self.get_territory(gle.party)]
if args.get("party_type") == "Supplier":
- row += [self.get_supplier_type(gle.party), gle.remarks]
+ row += [self.get_supplier_type(gle.party)]
+
+ if self.filters.get(scrub(args.get("party_type"))):
+ row.append(gle.account_currency)
+ else:
+ row.append(company_currency)
+ row.append(gle.remarks)
data.append(row)
return data
@@ -155,7 +184,7 @@
def get_voucher_details(self, party_type):
voucher_details = frappe._dict()
-
+
if party_type == "Customer":
for si in frappe.db.sql("""select name, due_date
from `tabSales Invoice` where docstatus=1""", as_dict=1):
@@ -171,17 +200,24 @@
def get_gl_entries(self, party_type):
if not hasattr(self, "gl_entries"):
conditions, values = self.prepare_conditions(party_type)
- self.gl_entries = frappe.db.sql("""select name, posting_date, account, party_type, party, debit, credit,
- voucher_type, voucher_no, against_voucher_type, against_voucher from `tabGL Entry`
- where docstatus < 2 and party_type=%s {0} order by posting_date, party"""
- .format(conditions), values, as_dict=True)
+
+ if self.filters.get(scrub(party_type)):
+ select_fields = "debit_in_account_currency as debit, credit_in_account_currency as credit"
+ else:
+ select_fields = "debit, credit"
+
+ self.gl_entries = frappe.db.sql("""select name, posting_date, account, party_type, party,
+ voucher_type, voucher_no, against_voucher_type, against_voucher, account_currency, remarks, {0}
+ from `tabGL Entry`
+ where docstatus < 2 and party_type=%s {1} order by posting_date, party"""
+ .format(select_fields, conditions), values, as_dict=True)
return self.gl_entries
def prepare_conditions(self, party_type):
conditions = [""]
values = [party_type]
-
+
party_type_field = scrub(party_type)
if self.filters.company:
@@ -190,7 +226,7 @@
if self.filters.get(party_type_field):
conditions.append("party=%s")
- values.append(self.filters.get(party_type_field))
+ values.append(self.filters.get(party_type_field))
return " and ".join(conditions), values
diff --git a/erpnext/accounts/report/bank_reconciliation_statement/bank_reconciliation_statement.py b/erpnext/accounts/report/bank_reconciliation_statement/bank_reconciliation_statement.py
index e592f69..7016c46 100644
--- a/erpnext/accounts/report/bank_reconciliation_statement/bank_reconciliation_statement.py
+++ b/erpnext/accounts/report/bank_reconciliation_statement/bank_reconciliation_statement.py
@@ -23,7 +23,8 @@
total_debit += flt(d[2])
total_credit += flt(d[3])
- amounts_not_reflected_in_system = frappe.db.sql("""select sum(ifnull(jvd.debit, 0) - ifnull(jvd.credit, 0))
+ amounts_not_reflected_in_system = frappe.db.sql("""
+ select sum(ifnull(jvd.debit_in_account_currency, 0) - ifnull(jvd.credit_in_account_currency, 0))
from `tabJournal Entry Account` jvd, `tabJournal Entry` jv
where jvd.parent = jv.name and jv.docstatus=1 and jvd.account=%s
and jv.posting_date > %s and jv.clearance_date <= %s and ifnull(jv.is_opening, 'No') = 'No'
@@ -38,7 +39,7 @@
data += [
get_balance_row(_("System Balance"), balance_as_per_system),
[""]*len(columns),
- ["", '"' + _("Amounts not reflected in bank") + '"', total_debit, total_credit, "", "", "", ""],
+ ["", '"' + _("Amounts not reflected in bank") + '"', total_debit, total_credit, "", "", "", "", ""],
get_balance_row(_("Amounts not reflected in system"), amounts_not_reflected_in_system),
[""]*len(columns),
get_balance_row(_("Expected balance as per bank"), bank_bal)
@@ -49,13 +50,14 @@
def get_columns():
return [_("Posting Date") + ":Date:100", _("Journal Entry") + ":Link/Journal Entry:220",
_("Debit") + ":Currency:120", _("Credit") + ":Currency:120",
- _("Against Account") + ":Link/Account:200", _("Reference") + "::100", _("Ref Date") + ":Date:110", _("Clearance Date") + ":Date:110"
+ _("Against Account") + ":Link/Account:200", _("Reference") + "::100",
+ _("Ref Date") + ":Date:110", _("Clearance Date") + ":Date:110", _("Currency") + ":Link/Currency:70"
]
def get_entries(filters):
entries = frappe.db.sql("""select
- jv.posting_date, jv.name, jvd.debit, jvd.credit,
- jvd.against_account, jv.cheque_no, jv.cheque_date, jv.clearance_date
+ jv.posting_date, jv.name, jvd.debit_in_account_currency, jvd.credit_in_account_currency,
+ jvd.against_account, jv.cheque_no, jv.cheque_date, jv.clearance_date, jvd.account_currency
from
`tabJournal Entry Account` jvd, `tabJournal Entry` jv
where jvd.parent = jv.name and jv.docstatus=1
@@ -68,6 +70,6 @@
def get_balance_row(label, amount):
if amount > 0:
- return ["", '"' + label + '"', amount, 0, "", "", "", ""]
+ return ["", '"' + label + '"', amount, 0, "", "", "", "", ""]
else:
- return ["", '"' + label + '"', 0, abs(amount), "", "", "", ""]
+ return ["", '"' + label + '"', 0, abs(amount), "", "", "", "", ""]
diff --git a/erpnext/accounts/report/general_ledger/general_ledger.py b/erpnext/accounts/report/general_ledger/general_ledger.py
index 1cc9f4f..fd91929 100644
--- a/erpnext/accounts/report/general_ledger/general_ledger.py
+++ b/erpnext/accounts/report/general_ledger/general_ledger.py
@@ -12,9 +12,12 @@
account_details.setdefault(acc.name, acc)
validate_filters(filters, account_details)
+
validate_party(filters)
+
+ filters = set_account_currency(filters)
- columns = get_columns()
+ columns = get_columns(filters)
res = get_result(filters, account_details)
@@ -43,36 +46,77 @@
frappe.throw(_("To filter based on Party, select Party Type first"))
elif not frappe.db.exists(party_type, party):
frappe.throw(_("Invalid {0}: {1}").format(party_type, party))
-
-def get_columns():
- return [_("Posting Date") + ":Date:90", _("Account") + ":Link/Account:200",
- _("Debit") + ":Float:100", _("Credit") + ":Float:100",
+
+def set_account_currency(filters):
+ if not (filters.get("account") or filters.get("party")):
+ return filters
+ else:
+ filters["company_currency"] = frappe.db.get_value("Company", filters.company, "default_currency")
+ account_currency = None
+
+ if filters.get("account"):
+ account_currency = frappe.db.get_value("Account", filters.account, "account_currency")
+ elif filters.get("party"):
+ gle_currency = frappe.db.get_value("GL Entry", {"party_type": filters.party_type,
+ "party": filters.party, "company": filters.company}, "account_currency")
+ if gle_currency:
+ account_currency = gle_currency
+ else:
+ account_currency = frappe.db.get_value(filters.party_type, filters.party, "default_currency")
+
+ filters["account_currency"] = account_currency or filters.company_currency
+
+ if filters.account_currency != filters.company_currency:
+ filters["show_in_account_currency"] = 1
+
+ return filters
+
+def get_columns(filters):
+ columns = [
+ _("Posting Date") + ":Date:90", _("Account") + ":Link/Account:200",
+ _("Debit") + ":Float:100", _("Credit") + ":Float:100"
+ ]
+
+ if filters.get("show_in_account_currency"):
+ columns += [
+ _("Debit") + " (" + filters.account_currency + ")" + ":Float:100",
+ _("Credit") + " (" + filters.account_currency + ")" + ":Float:100"
+ ]
+
+ columns += [
_("Voucher Type") + "::120", _("Voucher No") + ":Dynamic Link/Voucher Type:160",
_("Against Account") + "::120", _("Party Type") + "::80", _("Party") + "::150",
- _("Cost Center") + ":Link/Cost Center:100", _("Remarks") + "::400"]
+ _("Cost Center") + ":Link/Cost Center:100", _("Remarks") + "::400"
+ ]
+
+ return columns
def get_result(filters, account_details):
gl_entries = get_gl_entries(filters)
data = get_data_with_opening_closing(filters, account_details, gl_entries)
- result = get_result_as_list(data)
+ result = get_result_as_list(data, filters)
return result
def get_gl_entries(filters):
+ select_fields = """, sum(ifnull(debit_in_account_currency, 0)) as debit_in_account_currency,
+ sum(ifnull(credit_in_account_currency, 0)) as credit_in_account_currency""" \
+ if filters.get("show_in_account_currency") else ""
+
group_by_condition = "group by voucher_type, voucher_no, account, cost_center" \
if filters.get("group_by_voucher") else "group by name"
gl_entries = frappe.db.sql("""select posting_date, account, party_type, party,
- sum(ifnull(debit, 0)) as debit, sum(ifnull(credit, 0)) as credit,
- voucher_type, voucher_no, cost_center, remarks, against, is_opening
+ sum(ifnull(debit, 0)) as debit, sum(ifnull(credit, 0)) as credit,
+ voucher_type, voucher_no, cost_center, remarks, against, is_opening {select_fields}
from `tabGL Entry`
where company=%(company)s {conditions}
{group_by_condition}
order by posting_date, account"""\
- .format(conditions=get_conditions(filters), group_by_condition=group_by_condition),
- filters, as_dict=1)
+ .format(select_fields=select_fields, conditions=get_conditions(filters),
+ group_by_condition=group_by_condition), filters, as_dict=1)
return gl_entries
@@ -105,35 +149,51 @@
data = []
gle_map = initialize_gle_map(gl_entries)
- opening, total_debit, total_credit, gle_map = get_accountwise_gle(filters, gl_entries, gle_map)
+ opening, total_debit, total_credit, opening_in_account_currency, total_debit_in_account_currency, \
+ total_credit_in_account_currency, gle_map = get_accountwise_gle(filters, gl_entries, gle_map)
# Opening for filtered account
if filters.get("account") or filters.get("party"):
- data += [get_balance_row(_("Opening"), opening), {}]
+ data += [get_balance_row(_("Opening"), opening, opening_in_account_currency), {}]
for acc, acc_dict in gle_map.items():
if acc_dict.entries:
# Opening for individual ledger, if grouped by account
if filters.get("group_by_account"):
- data.append(get_balance_row(_("Opening"), acc_dict.opening))
+ data.append(get_balance_row(_("Opening"), acc_dict.opening,
+ acc_dict.opening_in_account_currency))
data += acc_dict.entries
# Totals and closing for individual ledger, if grouped by account
if filters.get("group_by_account"):
+ account_closing = acc_dict.opening + acc_dict.total_debit - acc_dict.total_credit
+ account_closing_in_account_currency = acc_dict.opening_in_account_currency \
+ + acc_dict.total_debit_in_account_currency - acc_dict.total_credit_in_account_currency
+
data += [{"account": "'" + _("Totals") + "'", "debit": acc_dict.total_debit,
"credit": acc_dict.total_credit},
get_balance_row(_("Closing (Opening + Totals)"),
- (acc_dict.opening + acc_dict.total_debit - acc_dict.total_credit)), {}]
+ account_closing, account_closing_in_account_currency), {}]
# Total debit and credit between from and to date
if total_debit or total_credit:
- data.append({"account": "'" + _("Totals") + "'", "debit": total_debit, "credit": total_credit})
+ data.append({
+ "account": "'" + _("Totals") + "'",
+ "debit": total_debit,
+ "credit": total_credit,
+ "debit_in_account_currency": total_debit_in_account_currency,
+ "credit_in_account_currency": total_credit_in_account_currency
+ })
# Closing for filtered account
if filters.get("account") or filters.get("party"):
+ closing = opening + total_debit - total_credit
+ closing_in_account_currency = opening_in_account_currency + \
+ total_debit_in_account_currency - total_credit_in_account_currency
+
data.append(get_balance_row(_("Closing (Opening + Totals)"),
- (opening + total_debit - total_credit)))
+ closing, closing_in_account_currency))
return data
@@ -142,46 +202,83 @@
for gle in gl_entries:
gle_map.setdefault(gle.account, frappe._dict({
"opening": 0,
+ "opening_in_account_currency": 0,
"entries": [],
"total_debit": 0,
+ "total_debit_in_account_currency": 0,
"total_credit": 0,
- "closing": 0
+ "total_credit_in_account_currency": 0,
+ "closing": 0,
+ "closing_in_account_currency": 0
}))
return gle_map
def get_accountwise_gle(filters, gl_entries, gle_map):
opening, total_debit, total_credit = 0, 0, 0
+ opening_in_account_currency, total_debit_in_account_currency, total_credit_in_account_currency = 0, 0, 0
+
from_date, to_date = getdate(filters.from_date), getdate(filters.to_date)
for gle in gl_entries:
amount = flt(gle.debit, 3) - flt(gle.credit, 3)
+ amount_in_account_currency = flt(gle.debit_in_account_currency, 3) - flt(gle.credit_in_account_currency, 3)
+
if (filters.get("account") or filters.get("party") or filters.get("group_by_account")) \
and (gle.posting_date < from_date or cstr(gle.is_opening) == "Yes"):
+
gle_map[gle.account].opening += amount
+ if filters.get("show_in_account_currency"):
+ gle_map[gle.account].opening_in_account_currency += amount_in_account_currency
+
if filters.get("account") or filters.get("party"):
opening += amount
+ if filters.get("show_in_account_currency"):
+ opening_in_account_currency += amount_in_account_currency
+
elif gle.posting_date <= to_date:
gle_map[gle.account].entries.append(gle)
gle_map[gle.account].total_debit += flt(gle.debit, 3)
gle_map[gle.account].total_credit += flt(gle.credit, 3)
-
+
total_debit += flt(gle.debit, 3)
total_credit += flt(gle.credit, 3)
+
+ if filters.get("show_in_account_currency"):
+ gle_map[gle.account].total_debit_in_account_currency += flt(gle.debit_in_account_currency, 3)
+ gle_map[gle.account].total_credit_in_account_currency += flt(gle.credit_in_account_currency, 3)
+
+ total_debit_in_account_currency += flt(gle.debit_in_account_currency, 3)
+ total_credit_in_account_currency += flt(gle.credit_in_account_currency, 3)
- return opening, total_debit, total_credit, gle_map
+ return opening, total_debit, total_credit, opening_in_account_currency, \
+ total_debit_in_account_currency, total_credit_in_account_currency, gle_map
-def get_balance_row(label, balance):
- return {
+def get_balance_row(label, balance, balance_in_account_currency=None):
+ balance_row = {
"account": "'" + label + "'",
"debit": balance if balance > 0 else 0,
- "credit": -1*balance if balance < 0 else 0,
+ "credit": -1*balance if balance < 0 else 0
}
+
+ if balance_in_account_currency != None:
+ balance_row.update({
+ "debit_in_account_currency": balance_in_account_currency if balance_in_account_currency > 0 else 0,
+ "credit_in_account_currency": -1*balance_in_account_currency if balance_in_account_currency < 0 else 0
+ })
+
+ return balance_row
-def get_result_as_list(data):
+def get_result_as_list(data, filters):
result = []
for d in data:
- result.append([d.get("posting_date"), d.get("account"), d.get("debit"),
- d.get("credit"), d.get("voucher_type"), d.get("voucher_no"),
- d.get("against"), d.get("party_type"), d.get("party"),
- d.get("cost_center"), d.get("remarks")])
+ row = [d.get("posting_date"), d.get("account"), d.get("debit"), d.get("credit")]
+
+ if filters.get("show_in_account_currency"):
+ row += [d.get("debit_in_account_currency"), d.get("credit_in_account_currency")]
+
+ row += [d.get("voucher_type"), d.get("voucher_no"), d.get("against"),
+ d.get("party_type"), d.get("party"), d.get("cost_center"), d.get("remarks")
+ ]
+
+ result.append(row)
return result
diff --git a/erpnext/accounts/utils.py b/erpnext/accounts/utils.py
index 51c7916..04084ed 100644
--- a/erpnext/accounts/utils.py
+++ b/erpnext/accounts/utils.py
@@ -50,7 +50,7 @@
throw(_("{0} '{1}' not in Fiscal Year {2}").format(label, formatdate(date), fiscal_year))
@frappe.whitelist()
-def get_balance_on(account=None, date=None, party_type=None, party=None):
+def get_balance_on(account=None, date=None, party_type=None, party=None, in_account_currency=True):
if not account and frappe.form_dict.get("account"):
account = frappe.form_dict.get("account")
if not date and frappe.form_dict.get("date"):
@@ -94,18 +94,27 @@
select name from `tabAccount` ac where ac.name = gle.account
and ac.lft >= %s and ac.rgt <= %s
)""" % (acc.lft, acc.rgt))
+
+ # If group and currency same as company,
+ # always return balance based on debit and credit in company currency
+ if acc.account_currency == frappe.db.get_value("Company", acc.company, "default_currency"):
+ in_account_currency = False
else:
cond.append("""gle.account = "%s" """ % (account.replace('"', '\\"'), ))
if party_type and party:
cond.append("""gle.party_type = "%s" and gle.party = "%s" """ %
(party_type.replace('"', '\\"'), party.replace('"', '\\"')))
-
+
if account or (party_type and party):
+ if in_account_currency:
+ select_field = "sum(ifnull(debit_in_account_currency, 0)) - sum(ifnull(credit_in_account_currency, 0))"
+ else:
+ select_field = "sum(ifnull(debit, 0)) - sum(ifnull(credit, 0))"
bal = frappe.db.sql("""
- SELECT sum(ifnull(debit, 0)) - sum(ifnull(credit, 0))
+ SELECT {0}
FROM `tabGL Entry` gle
- WHERE %s""" % " and ".join(cond))[0][0]
+ WHERE {1}""".format(select_field, " and ".join(cond)))[0][0]
# if bal is None, return 0
return flt(bal)
@@ -194,21 +203,26 @@
jv_detail.set("reference_name", d["against_voucher"])
if d['allocated_amt'] < d['unadjusted_amt']:
- jvd = frappe.db.sql("""select cost_center, balance, against_account, is_advance
- from `tabJournal Entry Account` where name = %s""", d['voucher_detail_no'])
+ jvd = frappe.db.sql("""
+ select cost_center, balance, against_account, is_advance, account_type, exchange_rate
+ from `tabJournal Entry Account` where name = %s
+ """, d['voucher_detail_no'], as_dict=True)
+
# new entry with balance amount
ch = jv_obj.append("accounts")
ch.account = d['account']
+ ch.account_type = jvd[0]['account_type']
+ ch.exchange_rate = jvd[0]['exchange_rate']
ch.party_type = d["party_type"]
ch.party = d["party"]
- ch.cost_center = cstr(jvd[0][0])
- ch.balance = flt(jvd[0][1])
+ ch.cost_center = cstr(jvd[0]["cost_center"])
+ ch.balance = flt(jvd[0]["balance"])
ch.set(d['dr_or_cr'], flt(d['unadjusted_amt']) - flt(d['allocated_amt']))
ch.set(d['dr_or_cr']== 'debit' and 'credit' or 'debit', 0)
- ch.against_account = cstr(jvd[0][2])
+ ch.against_account = cstr(jvd[0]["against_account"])
ch.reference_type = original_reference_type
ch.reference_name = original_reference_name
- ch.is_advance = cstr(jvd[0][3])
+ ch.is_advance = cstr(jvd[0]["is_advance"])
ch.docstatus = 1
# will work as update after submit
@@ -273,7 +287,7 @@
and name in (%s)""" % ', '.join(['%s']*len(account_list)), account_list))
for account, warehouse in account_warehouse.items():
- account_balance = get_balance_on(account, posting_date)
+ account_balance = get_balance_on(account, posting_date, in_account_currency=False)
stock_value = get_stock_value_on(warehouse, posting_date)
if abs(flt(stock_value) - flt(account_balance)) > 0.005:
difference.setdefault(account, flt(stock_value) - flt(account_balance))
@@ -378,12 +392,12 @@
# Balance as per system
stock_rbnb_account = "Stock Received But Not Billed - " + frappe.db.get_value("Company", company, "abbr")
- sys_bal = get_balance_on(stock_rbnb_account, posting_date)
+ sys_bal = get_balance_on(stock_rbnb_account, posting_date, in_account_currency=False)
# Amount should be credited
return flt(stock_rbnb) + flt(sys_bal)
-def get_outstanding_invoices(amount_query, account, party_type, party):
+def get_outstanding_invoices(amount_query, account, party_type, party, with_journal_entry=True):
all_outstanding_vouchers = []
outstanding_voucher_list = frappe.db.sql("""
select
@@ -411,6 +425,9 @@
payment_amount = -1*payment_amount[0][0] if payment_amount else 0
precision = frappe.get_precision("Sales Invoice", "outstanding_amount")
+ if not with_journal_entry and d.voucher_type=="Journal Entry":
+ continue
+
if d.invoice_amount > payment_amount:
all_outstanding_vouchers.append({
diff --git a/erpnext/buying/doctype/purchase_common/purchase_common.js b/erpnext/buying/doctype/purchase_common/purchase_common.js
index 7693e08..f372cd8 100644
--- a/erpnext/buying/doctype/purchase_common/purchase_common.js
+++ b/erpnext/buying/doctype/purchase_common/purchase_common.js
@@ -157,20 +157,9 @@
},
add_deduct_tax: function(doc, cdt, cdn) {
this.calculate_taxes_and_totals();
- },
-
- calculate_outstanding_amount: function() {
- if(this.frm.doc.doctype == "Purchase Invoice" && this.frm.doc.docstatus < 2) {
- frappe.model.round_floats_in(this.frm.doc, ["base_grand_total", "total_advance", "write_off_amount"]);
- this.frm.doc.total_amount_to_pay = flt(this.frm.doc.base_grand_total - this.frm.doc.write_off_amount,
- precision("total_amount_to_pay"));
- if (!this.frm.doc.is_return) {
- this.frm.doc.outstanding_amount = flt(this.frm.doc.total_amount_to_pay - this.frm.doc.total_advance,
- precision("outstanding_amount"));
- }
- }
}
});
+
cur_frm.add_fetch('project_name', 'cost_center', 'cost_center');
erpnext.buying.get_default_bom = function(frm) {
diff --git a/erpnext/buying/doctype/purchase_order/purchase_order.json b/erpnext/buying/doctype/purchase_order/purchase_order.json
index 4b646c6..b092037 100644
--- a/erpnext/buying/doctype/purchase_order/purchase_order.json
+++ b/erpnext/buying/doctype/purchase_order/purchase_order.json
@@ -43,7 +43,7 @@
"in_filter": 0,
"in_list_view": 0,
"label": "Title",
- "no_copy": 0,
+ "no_copy": 1,
"permlevel": 0,
"precision": "",
"print_hide": 0,
@@ -2032,7 +2032,7 @@
"is_submittable": 1,
"issingle": 0,
"istable": 0,
- "modified": "2015-09-07 15:51:26",
+ "modified": "2015-09-11 12:19:55.502661",
"modified_by": "Administrator",
"module": "Buying",
"name": "Purchase Order",
diff --git a/erpnext/buying/doctype/purchase_order/purchase_order.py b/erpnext/buying/doctype/purchase_order/purchase_order.py
index 0764440..e8c79d8 100644
--- a/erpnext/buying/doctype/purchase_order/purchase_order.py
+++ b/erpnext/buying/doctype/purchase_order/purchase_order.py
@@ -166,7 +166,7 @@
self.update_ordered_qty()
msgprint(_("Status of {0} {1} is now {2}").format(self.doctype, self.name, status))
- self.notify_modified()
+ self.notify_update()
clear_doctype_notifications(self)
def on_submit(self):
diff --git a/erpnext/buying/doctype/supplier/supplier.js b/erpnext/buying/doctype/supplier/supplier.js
index b6b6ce5..7a4ea90 100644
--- a/erpnext/buying/doctype/supplier/supplier.js
+++ b/erpnext/buying/doctype/supplier/supplier.js
@@ -39,16 +39,12 @@
},
callback: function(r) {
if (in_list(user_roles, "Accounts User") || in_list(user_roles, "Accounts Manager")) {
- if(r.message["company_currency"].length == 1) {
- cur_frm.dashboard.set_headline(
- __("Total Billing This Year: ") + "<b>"
- + format_currency(r.message.billing_this_year, r.message.company_currency[0])
- + '</b> / <span class="text-muted">' + __("Total Unpaid") + ": <b>"
- + format_currency(r.message.total_unpaid, r.message.company_currency[0])
- + '</b></span>');
- } else {
- cur_frm.dashboard.set_headline("");
- }
+ cur_frm.dashboard.set_headline(
+ __("Total Billing This Year: ") + "<b>"
+ + format_currency(r.message.billing_this_year, cur_frm.doc.party_account_currency)
+ + '</b> / <span class="text-muted">' + __("Total Unpaid") + ": <b>"
+ + format_currency(r.message.total_unpaid, cur_frm.doc.party_account_currency)
+ + '</b></span>');
}
cur_frm.dashboard.set_badge_count(r.message);
}
diff --git a/erpnext/buying/doctype/supplier/supplier.json b/erpnext/buying/doctype/supplier/supplier.json
index 1421403..2c337a8 100644
--- a/erpnext/buying/doctype/supplier/supplier.json
+++ b/erpnext/buying/doctype/supplier/supplier.json
@@ -1,665 +1,688 @@
{
- "allow_copy": 0,
- "allow_import": 1,
- "allow_rename": 1,
- "autoname": "naming_series:",
- "creation": "2013-01-10 16:34:11",
- "custom": 0,
- "description": "Supplier of Goods or Services.",
- "docstatus": 0,
- "doctype": "DocType",
- "document_type": "Setup",
+ "allow_copy": 0,
+ "allow_import": 1,
+ "allow_rename": 1,
+ "autoname": "naming_series:",
+ "creation": "2013-01-10 16:34:11",
+ "custom": 0,
+ "description": "Supplier of Goods or Services.",
+ "docstatus": 0,
+ "doctype": "DocType",
+ "document_type": "Setup",
"fields": [
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "basic_info",
- "fieldtype": "Section Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "",
- "no_copy": 0,
- "oldfieldtype": "Section Break",
- "options": "icon-user",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "basic_info",
+ "fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "",
+ "no_copy": 0,
+ "oldfieldtype": "Section Break",
+ "options": "icon-user",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "naming_series",
- "fieldtype": "Select",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Series",
- "no_copy": 1,
- "oldfieldname": "naming_series",
- "oldfieldtype": "Select",
- "options": "SUPP-",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "naming_series",
+ "fieldtype": "Select",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Series",
+ "no_copy": 1,
+ "oldfieldname": "naming_series",
+ "oldfieldtype": "Select",
+ "options": "SUPP-",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "supplier_name",
- "fieldtype": "Data",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Supplier Name",
- "no_copy": 1,
- "oldfieldname": "supplier_name",
- "oldfieldtype": "Data",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 1,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "supplier_name",
+ "fieldtype": "Data",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Supplier Name",
+ "no_copy": 1,
+ "oldfieldname": "supplier_name",
+ "oldfieldtype": "Data",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 1,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "column_break0",
- "fieldtype": "Column Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "no_copy": 0,
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "unique": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "column_break0",
+ "fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0,
"width": "50%"
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "supplier_type",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 1,
- "label": "Supplier Type",
- "no_copy": 0,
- "oldfieldname": "supplier_type",
- "oldfieldtype": "Link",
- "options": "Supplier Type",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 1,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "supplier_type",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 1,
+ "label": "Supplier Type",
+ "no_copy": 0,
+ "oldfieldname": "supplier_type",
+ "oldfieldtype": "Link",
+ "options": "Supplier Type",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 1,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "is_frozen",
- "fieldtype": "Check",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Is Frozen",
- "no_copy": 0,
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "is_frozen",
+ "fieldtype": "Check",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Is Frozen",
+ "no_copy": 0,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "section_break_7",
- "fieldtype": "Section Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "no_copy": 0,
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "section_break_7",
+ "fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "default_currency",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 1,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Default Currency",
- "no_copy": 1,
- "options": "Currency",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "default_currency",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 1,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Billing Currency",
+ "no_copy": 1,
+ "options": "Currency",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "default_price_list",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 1,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Price List",
- "no_copy": 0,
- "options": "Price List",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "default_price_list",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 1,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Price List",
+ "no_copy": 0,
+ "options": "Price List",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "column_break_10",
- "fieldtype": "Column Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "no_copy": 0,
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "column_break_10",
+ "fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "default_taxes_and_charges",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 1,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Taxes and Charges",
- "no_copy": 0,
- "options": "Purchase Taxes and Charges Template",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "default_taxes_and_charges",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 1,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Taxes and Charges",
+ "no_copy": 0,
+ "options": "Purchase Taxes and Charges Template",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "credit_days",
- "fieldtype": "Int",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Credit Days",
- "no_copy": 0,
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "credit_days",
+ "fieldtype": "Int",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Credit Days",
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "depends_on": "eval:!doc.__islocal",
- "fieldname": "address_contacts",
- "fieldtype": "Section Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Address and Contacts",
- "no_copy": 0,
- "oldfieldtype": "Column Break",
- "options": "icon-map-marker",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "depends_on": "eval:!doc.__islocal",
+ "fieldname": "address_contacts",
+ "fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Address and Contacts",
+ "no_copy": 0,
+ "oldfieldtype": "Column Break",
+ "options": "icon-map-marker",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "address_html",
- "fieldtype": "HTML",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Address HTML",
- "no_copy": 0,
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "address_html",
+ "fieldtype": "HTML",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Address HTML",
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "column_break1",
- "fieldtype": "Column Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "no_copy": 0,
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "unique": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "column_break1",
+ "fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0,
"width": "50%"
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "contact_html",
- "fieldtype": "HTML",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Contact HTML",
- "no_copy": 0,
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "contact_html",
+ "fieldtype": "HTML",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Contact HTML",
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 1,
- "collapsible_depends_on": "accounts",
- "fieldname": "default_payable_accounts",
- "fieldtype": "Section Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Default Payable Accounts",
- "no_copy": 0,
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 1,
+ "collapsible_depends_on": "accounts",
+ "fieldname": "default_payable_accounts",
+ "fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Default Payable Accounts",
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "depends_on": "eval:!doc.__islocal",
- "description": "Mention if non-standard receivable account applicable",
- "fieldname": "accounts",
- "fieldtype": "Table",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Accounts",
- "no_copy": 0,
- "options": "Party Account",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "party_account_currency",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Accounting Currency",
+ "no_copy": 0,
+ "options": "Currency",
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 1,
- "collapsible_depends_on": "supplier_details",
- "fieldname": "column_break2",
- "fieldtype": "Section Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Supplier Details",
- "no_copy": 0,
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "unique": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "depends_on": "",
+ "description": "Mention if non-standard receivable account",
+ "fieldname": "accounts",
+ "fieldtype": "Table",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Accounts",
+ "no_copy": 0,
+ "options": "Party Account",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 1,
+ "collapsible_depends_on": "supplier_details",
+ "fieldname": "column_break2",
+ "fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Supplier Details",
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0,
"width": "50%"
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "website",
- "fieldtype": "Data",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Website",
- "no_copy": 0,
- "oldfieldname": "website",
- "oldfieldtype": "Data",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "website",
+ "fieldtype": "Data",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Website",
+ "no_copy": 0,
+ "oldfieldname": "website",
+ "oldfieldtype": "Data",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "description": "Statutory info and other general information about your Supplier",
- "fieldname": "supplier_details",
- "fieldtype": "Text",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Supplier Details",
- "no_copy": 0,
- "oldfieldname": "supplier_details",
- "oldfieldtype": "Code",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "description": "Statutory info and other general information about your Supplier",
+ "fieldname": "supplier_details",
+ "fieldtype": "Text",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Supplier Details",
+ "no_copy": 0,
+ "oldfieldname": "supplier_details",
+ "oldfieldtype": "Code",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "communications",
- "fieldtype": "Table",
- "hidden": 1,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Communications",
- "no_copy": 0,
- "options": "Communication",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "communications",
+ "fieldtype": "Table",
+ "hidden": 1,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Communications",
+ "no_copy": 0,
+ "options": "Communication",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
}
- ],
- "hide_heading": 0,
- "hide_toolbar": 0,
- "icon": "icon-user",
- "idx": 1,
- "in_create": 0,
- "in_dialog": 0,
- "is_submittable": 0,
- "issingle": 0,
- "istable": 0,
- "modified": "2015-09-07 15:51:26",
- "modified_by": "Administrator",
- "module": "Buying",
- "name": "Supplier",
- "owner": "Administrator",
+ ],
+ "hide_heading": 0,
+ "hide_toolbar": 0,
+ "icon": "icon-user",
+ "idx": 1,
+ "in_create": 0,
+ "in_dialog": 0,
+ "is_submittable": 0,
+ "issingle": 0,
+ "istable": 0,
+ "modified": "2015-09-17 14:05:24.793609",
+ "modified_by": "Administrator",
+ "module": "Buying",
+ "name": "Supplier",
+ "owner": "Administrator",
"permissions": [
{
- "amend": 0,
- "apply_user_permissions": 0,
- "cancel": 0,
- "create": 0,
- "delete": 0,
- "email": 1,
- "export": 0,
- "if_owner": 0,
- "import": 0,
- "permlevel": 0,
- "print": 1,
- "read": 1,
- "report": 1,
- "role": "Purchase User",
- "set_user_permissions": 0,
- "share": 0,
- "submit": 0,
+ "amend": 0,
+ "apply_user_permissions": 0,
+ "cancel": 0,
+ "create": 0,
+ "delete": 0,
+ "email": 1,
+ "export": 0,
+ "if_owner": 0,
+ "import": 0,
+ "permlevel": 0,
+ "print": 1,
+ "read": 1,
+ "report": 1,
+ "role": "Purchase User",
+ "set_user_permissions": 0,
+ "share": 0,
+ "submit": 0,
"write": 0
- },
+ },
{
- "amend": 0,
- "apply_user_permissions": 0,
- "cancel": 0,
- "create": 0,
- "delete": 0,
- "email": 1,
- "export": 0,
- "if_owner": 0,
- "import": 0,
- "permlevel": 0,
- "print": 1,
- "read": 1,
- "report": 1,
- "role": "Purchase Manager",
- "set_user_permissions": 0,
- "share": 0,
- "submit": 0,
+ "amend": 0,
+ "apply_user_permissions": 0,
+ "cancel": 0,
+ "create": 0,
+ "delete": 0,
+ "email": 1,
+ "export": 0,
+ "if_owner": 0,
+ "import": 0,
+ "permlevel": 0,
+ "print": 1,
+ "read": 1,
+ "report": 1,
+ "role": "Purchase Manager",
+ "set_user_permissions": 0,
+ "share": 0,
+ "submit": 0,
"write": 0
- },
+ },
{
- "amend": 0,
- "apply_user_permissions": 0,
- "cancel": 0,
- "create": 1,
- "delete": 1,
- "email": 1,
- "export": 0,
- "if_owner": 0,
- "import": 0,
- "permlevel": 0,
- "print": 1,
- "read": 1,
- "report": 1,
- "role": "Purchase Master Manager",
- "set_user_permissions": 0,
- "share": 1,
- "submit": 0,
+ "amend": 0,
+ "apply_user_permissions": 0,
+ "cancel": 0,
+ "create": 1,
+ "delete": 1,
+ "email": 1,
+ "export": 0,
+ "if_owner": 0,
+ "import": 0,
+ "permlevel": 0,
+ "print": 1,
+ "read": 1,
+ "report": 1,
+ "role": "Purchase Master Manager",
+ "set_user_permissions": 0,
+ "share": 1,
+ "submit": 0,
"write": 1
- },
+ },
{
- "amend": 0,
- "apply_user_permissions": 0,
- "cancel": 0,
- "create": 0,
- "delete": 0,
- "email": 0,
- "export": 0,
- "if_owner": 0,
- "import": 0,
- "permlevel": 0,
- "print": 0,
- "read": 1,
- "report": 0,
- "role": "Stock User",
- "set_user_permissions": 0,
- "share": 0,
- "submit": 0,
+ "amend": 0,
+ "apply_user_permissions": 0,
+ "cancel": 0,
+ "create": 0,
+ "delete": 0,
+ "email": 0,
+ "export": 0,
+ "if_owner": 0,
+ "import": 0,
+ "permlevel": 0,
+ "print": 0,
+ "read": 1,
+ "report": 0,
+ "role": "Stock User",
+ "set_user_permissions": 0,
+ "share": 0,
+ "submit": 0,
"write": 0
- },
+ },
{
- "amend": 0,
- "apply_user_permissions": 0,
- "cancel": 0,
- "create": 0,
- "delete": 0,
- "email": 1,
- "export": 0,
- "if_owner": 0,
- "import": 0,
- "permlevel": 0,
- "print": 1,
- "read": 1,
- "report": 1,
- "role": "Stock Manager",
- "set_user_permissions": 0,
- "share": 0,
- "submit": 0,
+ "amend": 0,
+ "apply_user_permissions": 0,
+ "cancel": 0,
+ "create": 0,
+ "delete": 0,
+ "email": 1,
+ "export": 0,
+ "if_owner": 0,
+ "import": 0,
+ "permlevel": 0,
+ "print": 1,
+ "read": 1,
+ "report": 1,
+ "role": "Stock Manager",
+ "set_user_permissions": 0,
+ "share": 0,
+ "submit": 0,
"write": 0
- },
+ },
{
- "amend": 0,
- "apply_user_permissions": 0,
- "cancel": 0,
- "create": 0,
- "delete": 0,
- "email": 0,
- "export": 0,
- "if_owner": 0,
- "import": 0,
- "permlevel": 0,
- "print": 0,
- "read": 1,
- "report": 0,
- "role": "Accounts User",
- "set_user_permissions": 0,
- "share": 0,
- "submit": 0,
+ "amend": 0,
+ "apply_user_permissions": 0,
+ "cancel": 0,
+ "create": 0,
+ "delete": 0,
+ "email": 0,
+ "export": 0,
+ "if_owner": 0,
+ "import": 0,
+ "permlevel": 0,
+ "print": 0,
+ "read": 1,
+ "report": 0,
+ "role": "Accounts User",
+ "set_user_permissions": 0,
+ "share": 0,
+ "submit": 0,
"write": 0
- },
+ },
{
- "amend": 0,
- "apply_user_permissions": 0,
- "cancel": 0,
- "create": 0,
- "delete": 0,
- "email": 1,
- "export": 0,
- "if_owner": 0,
- "import": 0,
- "permlevel": 0,
- "print": 1,
- "read": 1,
- "report": 1,
- "role": "Accounts Manager",
- "set_user_permissions": 0,
- "share": 0,
- "submit": 0,
+ "amend": 0,
+ "apply_user_permissions": 0,
+ "cancel": 0,
+ "create": 0,
+ "delete": 0,
+ "email": 1,
+ "export": 0,
+ "if_owner": 0,
+ "import": 0,
+ "permlevel": 0,
+ "print": 1,
+ "read": 1,
+ "report": 1,
+ "role": "Accounts Manager",
+ "set_user_permissions": 0,
+ "share": 0,
+ "submit": 0,
"write": 0
}
- ],
- "read_only": 0,
- "read_only_onload": 0,
- "search_fields": "supplier_name, supplier_type",
+ ],
+ "read_only": 0,
+ "read_only_onload": 0,
+ "search_fields": "supplier_name, supplier_type",
"title_field": "supplier_name"
-}
\ No newline at end of file
+}
diff --git a/erpnext/buying/doctype/supplier/supplier.py b/erpnext/buying/doctype/supplier/supplier.py
index af7716b..6d0a1a3 100644
--- a/erpnext/buying/doctype/supplier/supplier.py
+++ b/erpnext/buying/doctype/supplier/supplier.py
@@ -8,6 +8,7 @@
from frappe.model.naming import make_autoname
from erpnext.utilities.address_and_contact import load_address_and_contact
from erpnext.utilities.transaction_base import TransactionBase
+from erpnext.accounts.party import validate_accounting_currency, validate_party_account
class Supplier(TransactionBase):
def get_feed(self):
@@ -44,6 +45,9 @@
if frappe.defaults.get_global_default('supp_master_name') == 'Naming Series':
if not self.naming_series:
msgprint(_("Series is mandatory"), raise_exception=1)
+
+ validate_accounting_currency(self)
+ validate_party_account(self)
def get_contacts(self,nm):
if nm:
@@ -89,9 +93,11 @@
out[doctype] = frappe.db.get_value(doctype,
{"supplier": supplier, "docstatus": ["!=", 2] }, "count(*)")
- billing_this_year = frappe.db.sql("""select sum(base_grand_total)
- from `tabPurchase Invoice`
- where supplier=%s and docstatus = 1 and fiscal_year = %s""",
+ billing_this_year = frappe.db.sql("""
+ select sum(ifnull(credit_in_account_currency, 0)) - sum(ifnull(debit_in_account_currency, 0))
+ from `tabGL Entry`
+ where voucher_type='Purchase Invoice' and party_type = 'Supplier'
+ and party=%s and fiscal_year = %s""",
(supplier, frappe.db.get_default("fiscal_year")))
total_unpaid = frappe.db.sql("""select sum(outstanding_amount)
diff --git a/erpnext/buying/doctype/supplier/test_records.json b/erpnext/buying/doctype/supplier/test_records.json
index dfa5d46..6d01dff 100644
--- a/erpnext/buying/doctype/supplier/test_records.json
+++ b/erpnext/buying/doctype/supplier/test_records.json
@@ -1,14 +1,22 @@
[
{
- "company": "_Test Company",
"doctype": "Supplier",
"supplier_name": "_Test Supplier",
"supplier_type": "_Test Supplier Type"
},
{
- "company": "_Test Company",
"doctype": "Supplier",
"supplier_name": "_Test Supplier 1",
"supplier_type": "_Test Supplier Type"
+ },
+ {
+ "doctype": "Supplier",
+ "supplier_name": "_Test Supplier USD",
+ "supplier_type": "_Test Supplier Type",
+ "party_account_currency": "USD",
+ "accounts": [{
+ "company": "_Test Company",
+ "account": "_Test Payable USD - _TC"
+ }]
}
-]
+]
\ No newline at end of file
diff --git a/erpnext/buying/doctype/supplier_quotation/supplier_quotation.json b/erpnext/buying/doctype/supplier_quotation/supplier_quotation.json
index 7e35b25..1281467 100644
--- a/erpnext/buying/doctype/supplier_quotation/supplier_quotation.json
+++ b/erpnext/buying/doctype/supplier_quotation/supplier_quotation.json
@@ -43,7 +43,7 @@
"in_filter": 0,
"in_list_view": 0,
"label": "Title",
- "no_copy": 0,
+ "no_copy": 1,
"permlevel": 0,
"precision": "",
"print_hide": 0,
@@ -1554,7 +1554,7 @@
"is_submittable": 1,
"issingle": 0,
"istable": 0,
- "modified": "2015-09-07 15:51:26",
+ "modified": "2015-09-11 12:20:10.684388",
"modified_by": "Administrator",
"module": "Buying",
"name": "Supplier Quotation",
diff --git a/erpnext/change_log/v6/v6_2_0.md b/erpnext/change_log/v6/v6_2_0.md
new file mode 100644
index 0000000..8078830
--- /dev/null
+++ b/erpnext/change_log/v6/v6_2_0.md
@@ -0,0 +1 @@
+- **[Multi-currency Accounting](https://manual.erpnext.com/contents/accounts/multi-currency-accounting)**: You can now have an Account in a different currency than your Company's currency
diff --git a/erpnext/controllers/accounts_controller.py b/erpnext/controllers/accounts_controller.py
index c7600df..ceb9930 100644
--- a/erpnext/controllers/accounts_controller.py
+++ b/erpnext/controllers/accounts_controller.py
@@ -14,8 +14,19 @@
force_item_fields = ("item_group", "barcode", "brand", "stock_uom")
class CustomerFrozen(frappe.ValidationError): pass
+class InvalidCurrency(frappe.ValidationError): pass
class AccountsController(TransactionBase):
+ def __init__(self, arg1, arg2=None):
+ super(AccountsController, self).__init__(arg1, arg2)
+
+ @property
+ def company_currency(self):
+ if not hasattr(self, "__company_currency"):
+ self.__company_currency = get_company_currency(self.company)
+
+ return self.__company_currency
+
def validate(self):
if self.get("_action") and self._action != "update_after_submit":
self.set_missing_values(for_validate=True)
@@ -39,6 +50,7 @@
self.validate_enabled_taxes_and_charges()
self.validate_party()
+ self.validate_currency()
def on_submit(self):
if self.meta.get_field("is_recurring"):
@@ -95,8 +107,6 @@
def set_price_list_currency(self, buying_or_selling):
if self.meta.get_field("currency"):
- company_currency = get_company_currency(self.company)
-
# price list part
fieldname = "selling_price_list" if buying_or_selling.lower() == "selling" \
else "buying_price_list"
@@ -104,22 +114,22 @@
self.price_list_currency = frappe.db.get_value("Price List",
self.get(fieldname), "currency")
- if self.price_list_currency == company_currency:
+ if self.price_list_currency == self.company_currency:
self.plc_conversion_rate = 1.0
elif not self.plc_conversion_rate:
self.plc_conversion_rate = get_exchange_rate(
- self.price_list_currency, company_currency)
+ self.price_list_currency, self.company_currency)
# currency
if not self.currency:
self.currency = self.price_list_currency
self.conversion_rate = self.plc_conversion_rate
- elif self.currency == company_currency:
+ elif self.currency == self.company_currency:
self.conversion_rate = 1.0
elif not self.conversion_rate:
self.conversion_rate = get_exchange_rate(self.currency,
- company_currency)
+ self.company_currency)
def set_missing_item_details(self):
"""set missing item values"""
@@ -156,7 +166,7 @@
item.set("discount_percentage", ret.get("discount_percentage"))
if ret.get("pricing_rule_for") == "Price":
item.set("pricing_list_rate", ret.get("pricing_list_rate"))
-
+
def set_taxes(self):
if not self.meta.get_field("taxes"):
@@ -187,7 +197,7 @@
if frappe.db.get_value(taxes_and_charges_doctype, self.taxes_and_charges, "disabled"):
frappe.throw(_("{0} '{1}' is disabled").format(taxes_and_charges_doctype, self.taxes_and_charges))
- def get_gl_dict(self, args):
+ def get_gl_dict(self, args, account_currency=None):
"""this method populates the common properties of a gl entry record"""
gl_dict = frappe._dict({
'company': self.company,
@@ -198,11 +208,51 @@
'fiscal_year': self.fiscal_year,
'debit': 0,
'credit': 0,
+ 'debit_in_account_currency': 0,
+ 'credit_in_account_currency': 0,
'is_opening': self.get("is_opening") or "No",
'party_type': None,
'party': None
})
gl_dict.update(args)
+
+ if not account_currency:
+ account_currency = frappe.db.get_value("Account", gl_dict.account, "account_currency")
+
+ self.validate_account_currency(gl_dict.account, account_currency)
+ gl_dict = self.set_balance_in_account_currency(gl_dict, account_currency)
+
+ return gl_dict
+
+ def validate_account_currency(self, account, account_currency=None):
+ if self.doctype == "Journal Entry":
+ return
+ valid_currency = [self.company_currency]
+ if self.get("currency") and self.currency != self.company_currency:
+ valid_currency.append(self.currency)
+
+ if account_currency not in valid_currency:
+ frappe.throw(_("Account {0} is invalid. Account Currency must be {1}")
+ .format(account, _(" or ").join(valid_currency)))
+
+ def set_balance_in_account_currency(self, gl_dict, account_currency=None):
+ if (not self.get("conversion_rate") and self.doctype!="Journal Entry"
+ and account_currency!=self.company_currency):
+ frappe.throw(_("Account: {0} with currency: {1} can not be selected")
+ .format(gl_dict.account, account_currency))
+
+ gl_dict["account_currency"] = self.company_currency if account_currency==self.company_currency \
+ else account_currency
+
+ # set debit/credit in account currency if not provided
+ if flt(gl_dict.debit) and not flt(gl_dict.debit_in_account_currency):
+ gl_dict.debit_in_account_currency = gl_dict.debit if account_currency==self.company_currency \
+ else flt(gl_dict.debit / (self.get("conversion_rate")), 2)
+
+ if flt(gl_dict.credit) and not flt(gl_dict.credit_in_account_currency):
+ gl_dict.credit_in_account_currency = gl_dict.credit if account_currency==self.company_currency \
+ else flt(gl_dict.credit / (self.get("conversion_rate")), 2)
+
return gl_dict
def clear_unallocated_advances(self, childtype, parentfield):
@@ -217,13 +267,13 @@
# conver sales_order to "Sales Order"
reference_type = against_order_field.replace("_", " ").title()
-
+
condition = ""
if order_list:
in_placeholder = ', '.join(['%s'] * len(order_list))
condition = "or (t2.reference_type = '{0}' and ifnull(t2.reference_name, '') in ({1}))"\
.format(reference_type, in_placeholder)
-
+
res = frappe.db.sql("""
select
t1.name as jv_no, t1.remark, t2.{0} as amount, t2.name as jv_detail_no,
@@ -321,9 +371,9 @@
def set_total_advance_paid(self):
if self.doctype == "Sales Order":
- dr_or_cr = "credit"
+ dr_or_cr = "credit_in_account_currency"
else:
- dr_or_cr = "debit"
+ dr_or_cr = "debit_in_account_currency"
advance_paid = frappe.db.sql("""
select
@@ -331,10 +381,9 @@
from
`tabJournal Entry Account`
where
- reference_type = %s and
- reference_name = %s and
- docstatus = 1 and is_advance = "Yes" """.format(dr_or_cr=dr_or_cr),
- (self.doctype, self.name))
+ reference_type = %s and reference_name = %s
+ and docstatus = 1 and is_advance = "Yes"
+ """.format(dr_or_cr=dr_or_cr), (self.doctype, self.name))
if advance_paid:
advance_paid = flt(advance_paid[0][0], self.precision("advance_paid"))
@@ -357,6 +406,13 @@
if frozen_accounts_modifier in frappe.get_roles():
return
+ party_type, party = self.get_party()
+
+ if party_type:
+ if frappe.db.get_value(party_type, party, "is_frozen"):
+ frappe.throw("{0} {1} is frozen".format(party_type, party), CustomerFrozen)
+
+ def get_party(self):
party_type = None
if self.meta.get_field("customer"):
party_type = 'Customer'
@@ -364,10 +420,20 @@
elif self.meta.get_field("supplier"):
party_type = 'Supplier'
- if party_type:
- party = self.get(party_type.lower())
- if frappe.db.get_value(party_type, party, "is_frozen"):
- frappe.throw("{0} {1} is frozen".format(party_type, party), CustomerFrozen)
+ party = self.get(party_type.lower()) if party_type else None
+
+ return party_type, party
+
+ def validate_currency(self):
+ if self.get("currency"):
+ party_type, party = self.get_party()
+ if party_type and party:
+ party_account_currency = frappe.db.get_value(party_type, party, "party_account_currency") \
+ or self.company_currency
+
+ if party_account_currency != self.company_currency and self.currency != party_account_currency:
+ frappe.throw(_("Accounting Entry for {0}: {1} can only be made in currency: {2}")
+ .format(party_type, party, party_account_currency), InvalidCurrency)
@frappe.whitelist()
def get_tax_rate(account_head):
diff --git a/erpnext/controllers/item_variant.py b/erpnext/controllers/item_variant.py
index 4edf52b..38536cf 100644
--- a/erpnext/controllers/item_variant.py
+++ b/erpnext/controllers/item_variant.py
@@ -60,8 +60,8 @@
if not (is_in_range and is_incremental):
frappe.throw(_("Value for Attribute {0} must be within the range of {1} to {2} in the increments of {3}")\
.format(attribute, from_range, to_range, increment), InvalidItemAttributeValueError)
-
- elif value not in attribute_values[attribute]:
+
+ elif value not in attribute_values.get(attribute, []):
frappe.throw(_("Value {0} for Attribute {1} does not exist in the list of valid Item Attribute Values").format(
value, attribute))
diff --git a/erpnext/controllers/queries.py b/erpnext/controllers/queries.py
index 6c98202..a6bfa53 100644
--- a/erpnext/controllers/queries.py
+++ b/erpnext/controllers/queries.py
@@ -9,6 +9,7 @@
def get_filters_cond(doctype, filters, conditions):
if filters:
+ flt = filters
if isinstance(filters, dict):
filters = filters.items()
flt = []
diff --git a/erpnext/controllers/recurring_document.py b/erpnext/controllers/recurring_document.py
index f9ab509..9edac2e 100644
--- a/erpnext/controllers/recurring_document.py
+++ b/erpnext/controllers/recurring_document.py
@@ -4,7 +4,7 @@
import frappe.defaults
from frappe.utils import add_days, cint, cstr, date_diff, flt, getdate, nowdate, \
- get_first_day, get_last_day, comma_and
+ get_first_day, get_last_day, comma_and, split_emails
from frappe.model.naming import make_autoname
from frappe import _, msgprint, throw
@@ -33,7 +33,7 @@
next_date = next_date or nowdate()
date_field = date_field_map[doctype]
-
+
condition = " and ifnull(status, '') != 'Stopped'" if doctype in ("Sales Order", "Purchase Order") else ""
recurring_documents = frappe.db.sql("""select name, recurring_id
@@ -180,8 +180,7 @@
def validate_notification_email_id(doc):
if doc.notification_email_address:
- email_list = filter(None, [cstr(email).strip() for email in
- doc.notification_email_address.replace("\n", "").split(",")])
+ email_list = split_emails(doc.notification_email_address.replace("\n", ""))
from frappe.utils import validate_email_add
for email in email_list:
diff --git a/erpnext/controllers/status_updater.py b/erpnext/controllers/status_updater.py
index 9c67e9a..c43493c 100644
--- a/erpnext/controllers/status_updater.py
+++ b/erpnext/controllers/status_updater.py
@@ -222,7 +222,7 @@
where name='%(name)s'""" % args)
if args.get("set_modified"):
- frappe.get_doc(args["target_parent_dt"], name).notify_modified()
+ frappe.get_doc(args["target_parent_dt"], name).notify_update()
def update_billing_status_for_zero_amount_refdoc(self, ref_dt):
ref_fieldname = ref_dt.lower().replace(" ", "_")
diff --git a/erpnext/controllers/stock_controller.py b/erpnext/controllers/stock_controller.py
index 19b5a9b..eccceb0 100644
--- a/erpnext/controllers/stock_controller.py
+++ b/erpnext/controllers/stock_controller.py
@@ -46,22 +46,22 @@
# from warehouse account
self.check_expense_account(detail)
-
+
gl_list.append(self.get_gl_dict({
- "account": warehouse_account[sle.warehouse],
+ "account": warehouse_account[sle.warehouse]["name"],
"against": detail.expense_account,
"cost_center": detail.cost_center,
"remarks": self.get("remarks") or "Accounting Entry for Stock",
- "debit": flt(sle.stock_value_difference, 2)
- }))
+ "debit": flt(sle.stock_value_difference, 2),
+ }, warehouse_account[sle.warehouse]["account_currency"]))
- # to target warehouse / expense account
+ # to target warehouse / expense account
gl_list.append(self.get_gl_dict({
"account": detail.expense_account,
- "against": warehouse_account[sle.warehouse],
+ "against": warehouse_account[sle.warehouse]["name"],
"cost_center": detail.cost_center,
"remarks": self.get("remarks") or "Accounting Entry for Stock",
- "credit": flt(sle.stock_value_difference, 2)
+ "credit": flt(sle.stock_value_difference, 2),
}))
elif sle.warehouse not in warehouse_with_no_account:
warehouse_with_no_account.append(sle.warehouse)
@@ -69,7 +69,7 @@
if warehouse_with_no_account:
msgprint(_("No accounting entries for the following warehouses") + ": \n" +
"\n".join(warehouse_with_no_account))
-
+
return process_gl_map(gl_list)
def get_voucher_details(self, default_expense_account, default_cost_center, sle_map):
@@ -336,6 +336,9 @@
return gl_entries
def get_warehouse_account():
- warehouse_account = dict(frappe.db.sql("""select warehouse, name from tabAccount
- where account_type = 'Warehouse' and ifnull(warehouse, '') != ''"""))
+ warehouse_account = frappe._dict()
+
+ for d in frappe.db.sql("""select warehouse, name, account_currency from tabAccount
+ where account_type = 'Warehouse' and ifnull(warehouse, '') != ''""", as_dict=1):
+ warehouse_account.setdefault(d.warehouse, d)
return warehouse_account
diff --git a/erpnext/controllers/taxes_and_totals.py b/erpnext/controllers/taxes_and_totals.py
index d526f66..0fbe22d 100644
--- a/erpnext/controllers/taxes_and_totals.py
+++ b/erpnext/controllers/taxes_and_totals.py
@@ -394,17 +394,21 @@
# NOTE:
# write_off_amount is only for POS Invoice
# total_advance is only for non POS Invoice
-
+ if self.doc.is_return:
+ return
+
+ self.doc.round_floats_in(self.doc, ["grand_total", "total_advance", "write_off_amount"])
+ total_amount_to_pay = flt(self.doc.grand_total - self.doc.total_advance - self.doc.write_off_amount,
+ self.doc.precision("grand_total"))
+
if self.doc.doctype == "Sales Invoice":
- if not self.doc.is_return:
- self.doc.round_floats_in(self.doc, ["base_grand_total", "total_advance", "write_off_amount", "paid_amount"])
- total_amount_to_pay = self.doc.base_grand_total - self.doc.write_off_amount
- self.doc.outstanding_amount = flt(total_amount_to_pay - self.doc.total_advance - self.doc.paid_amount,
- self.doc.precision("outstanding_amount"))
+ self.doc.round_floats_in(self.doc, ["paid_amount"])
+ outstanding_amount = flt(total_amount_to_pay - self.doc.paid_amount, self.doc.precision("outstanding_amount"))
+ elif self.doc.doctype == "Purchase Invoice":
+ outstanding_amount = flt(total_amount_to_pay, self.doc.precision("outstanding_amount"))
+
+ if self.doc.party_account_currency == self.doc.currency:
+ self.doc.outstanding_amount = outstanding_amount
else:
- self.doc.round_floats_in(self.doc, ["total_advance", "write_off_amount"])
- self.doc.total_amount_to_pay = flt(self.doc.base_grand_total - self.doc.write_off_amount,
- self.doc.precision("total_amount_to_pay"))
- if not self.doc.is_return:
- self.doc.outstanding_amount = flt(self.doc.total_amount_to_pay - self.doc.total_advance,
- self.doc.precision("outstanding_amount"))
+ self.doc.outstanding_amount = flt(outstanding_amount * self.doc.conversion_rate,
+ self.doc.precision("outstanding_amount"))
\ No newline at end of file
diff --git a/erpnext/crm/doctype/lead/lead.json b/erpnext/crm/doctype/lead/lead.json
index 9e4d562..6c61476 100644
--- a/erpnext/crm/doctype/lead/lead.json
+++ b/erpnext/crm/doctype/lead/lead.json
@@ -7,7 +7,7 @@
"custom": 0,
"docstatus": 0,
"doctype": "DocType",
- "document_type": "Setup",
+ "document_type": "Document",
"fields": [
{
"allow_on_submit": 0,
@@ -808,7 +808,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
- "modified": "2015-08-27 03:26:48.324207",
+ "modified": "2015-09-14 02:57:27.841011",
"modified_by": "Administrator",
"module": "CRM",
"name": "Lead",
diff --git a/erpnext/crm/doctype/newsletter/newsletter.py b/erpnext/crm/doctype/newsletter/newsletter.py
index 83d3caf..800a5ab 100644
--- a/erpnext/crm/doctype/newsletter/newsletter.py
+++ b/erpnext/crm/doctype/newsletter/newsletter.py
@@ -20,7 +20,7 @@
group by status""", (self.doctype, self.name))) or None
def test_send(self, doctype="Lead"):
- self.recipients = self.test_email_id.split(",")
+ self.recipients = frappe.utils.split_emails(self.test_email_id)
self.send_bulk()
frappe.msgprint(_("Scheduled to send to {0}").format(self.test_email_id))
diff --git a/erpnext/crm/doctype/newsletter_list/newsletter_list.json b/erpnext/crm/doctype/newsletter_list/newsletter_list.json
index 7537c03..01f1b75 100644
--- a/erpnext/crm/doctype/newsletter_list/newsletter_list.json
+++ b/erpnext/crm/doctype/newsletter_list/newsletter_list.json
@@ -7,7 +7,7 @@
"custom": 0,
"docstatus": 0,
"doctype": "DocType",
- "document_type": "Master",
+ "document_type": "Setup",
"fields": [
{
"allow_on_submit": 0,
@@ -20,7 +20,7 @@
"in_filter": 0,
"in_list_view": 0,
"label": "Title",
- "no_copy": 0,
+ "no_copy": 1,
"permlevel": 0,
"precision": "",
"print_hide": 0,
@@ -62,7 +62,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
- "modified": "2015-07-15 07:18:30.094155",
+ "modified": "2015-09-11 12:20:05.237636",
"modified_by": "Administrator",
"module": "CRM",
"name": "Newsletter List",
diff --git a/erpnext/crm/doctype/newsletter_list_subscriber/newsletter_list_subscriber.json b/erpnext/crm/doctype/newsletter_list_subscriber/newsletter_list_subscriber.json
index 101c6a0..935ade0 100644
--- a/erpnext/crm/doctype/newsletter_list_subscriber/newsletter_list_subscriber.json
+++ b/erpnext/crm/doctype/newsletter_list_subscriber/newsletter_list_subscriber.json
@@ -7,7 +7,7 @@
"custom": 0,
"docstatus": 0,
"doctype": "DocType",
- "document_type": "Transaction",
+ "document_type": "Document",
"fields": [
{
"allow_on_submit": 0,
@@ -84,7 +84,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
- "modified": "2015-03-23 04:47:36.505462",
+ "modified": "2015-09-14 02:55:58.113810",
"modified_by": "Administrator",
"module": "CRM",
"name": "Newsletter List Subscriber",
diff --git a/erpnext/crm/doctype/opportunity/opportunity.json b/erpnext/crm/doctype/opportunity/opportunity.json
index 6345345..856f813 100644
--- a/erpnext/crm/doctype/opportunity/opportunity.json
+++ b/erpnext/crm/doctype/opportunity/opportunity.json
@@ -185,7 +185,7 @@
"in_filter": 0,
"in_list_view": 0,
"label": "Title",
- "no_copy": 0,
+ "no_copy": 1,
"permlevel": 0,
"precision": "",
"print_hide": 0,
@@ -889,7 +889,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
- "modified": "2015-09-07 15:51:26",
+ "modified": "2015-09-11 12:19:38.052900",
"modified_by": "Administrator",
"module": "CRM",
"name": "Opportunity",
diff --git a/erpnext/crm/doctype/opportunity/opportunity.py b/erpnext/crm/doctype/opportunity/opportunity.py
index 78729a3..5cf96e9 100644
--- a/erpnext/crm/doctype/opportunity/opportunity.py
+++ b/erpnext/crm/doctype/opportunity/opportunity.py
@@ -6,6 +6,7 @@
from frappe.utils import cstr, cint
from frappe import msgprint, _
from frappe.model.mapper import get_mapped_doc
+from erpnext.setup.utils import get_exchange_rate
from erpnext.utilities.transaction_base import TransactionBase
@@ -179,7 +180,17 @@
def make_quotation(source_name, target_doc=None):
def set_missing_values(source, target):
quotation = frappe.get_doc(target)
- quotation.currency = None # set it as default from customer
+
+ company_currency = frappe.db.get_value("Company", quotation.company, "default_currency")
+ party_account_currency = frappe.db.get_value("Customer", quotation.customer, "party_account_currency")
+ if company_currency == party_account_currency:
+ exchange_rate = 1
+ else:
+ exchange_rate = get_exchange_rate(party_account_currency, company_currency)
+
+ quotation.currency = party_account_currency or company_currency
+ quotation.conversion_rate = exchange_rate
+
quotation.run_method("set_missing_values")
quotation.run_method("calculate_taxes_and_totals")
diff --git a/erpnext/hooks.py b/erpnext/hooks.py
index 56bda40..54f81b8 100644
--- a/erpnext/hooks.py
+++ b/erpnext/hooks.py
@@ -27,7 +27,7 @@
"""
app_icon = "icon-th"
app_color = "#e74c3c"
-app_version = "6.1.1"
+app_version = "6.2.0"
github_link = "https://github.com/frappe/erpnext"
error_report_email = "support@erpnext.com"
@@ -120,7 +120,7 @@
]
}
-default_mail_footer = """<div style="padding: 15px; text-align: center;">
+default_mail_footer = """<div style="text-align: center;">
<a href="https://erpnext.com?source=via_email_footer" target="_blank" style="color: #8d99a6;">
Sent via ERPNext
</a>
diff --git a/erpnext/hr/doctype/appraisal_template/appraisal_template.json b/erpnext/hr/doctype/appraisal_template/appraisal_template.json
index 2643d71..9d1b347 100644
--- a/erpnext/hr/doctype/appraisal_template/appraisal_template.json
+++ b/erpnext/hr/doctype/appraisal_template/appraisal_template.json
@@ -7,7 +7,7 @@
"custom": 0,
"docstatus": 0,
"doctype": "DocType",
- "document_type": "Master",
+ "document_type": "Setup",
"fields": [
{
"allow_on_submit": 0,
@@ -91,7 +91,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
- "modified": "2015-09-07 15:51:26",
+ "modified": "2015-09-14 02:55:53.800359",
"modified_by": "Administrator",
"module": "HR",
"name": "Appraisal Template",
diff --git a/erpnext/hr/doctype/attendance/attendance.json b/erpnext/hr/doctype/attendance/attendance.json
index b1958f2..b25a3c8 100644
--- a/erpnext/hr/doctype/attendance/attendance.json
+++ b/erpnext/hr/doctype/attendance/attendance.json
@@ -7,7 +7,7 @@
"custom": 0,
"docstatus": 0,
"doctype": "DocType",
- "document_type": "Master",
+ "document_type": "Setup",
"fields": [
{
"allow_on_submit": 0,
@@ -277,7 +277,7 @@
"is_submittable": 1,
"issingle": 0,
"istable": 0,
- "modified": "2015-09-07 15:51:26",
+ "modified": "2015-09-14 02:55:53.875571",
"modified_by": "Administrator",
"module": "HR",
"name": "Attendance",
diff --git a/erpnext/hr/doctype/branch/branch.json b/erpnext/hr/doctype/branch/branch.json
index d50de1d..bab26f6 100644
--- a/erpnext/hr/doctype/branch/branch.json
+++ b/erpnext/hr/doctype/branch/branch.json
@@ -7,7 +7,7 @@
"custom": 0,
"docstatus": 0,
"doctype": "DocType",
- "document_type": "Master",
+ "document_type": "Setup",
"fields": [
{
"allow_on_submit": 0,
@@ -42,7 +42,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
- "modified": "2015-09-07 15:51:26",
+ "modified": "2015-09-14 02:55:54.431393",
"modified_by": "Administrator",
"module": "HR",
"name": "Branch",
diff --git a/erpnext/hr/doctype/deduction_type/deduction_type.json b/erpnext/hr/doctype/deduction_type/deduction_type.json
index 649011f..c62ef67 100644
--- a/erpnext/hr/doctype/deduction_type/deduction_type.json
+++ b/erpnext/hr/doctype/deduction_type/deduction_type.json
@@ -7,7 +7,7 @@
"custom": 0,
"docstatus": 0,
"doctype": "DocType",
- "document_type": "Master",
+ "document_type": "Setup",
"fields": [
{
"allow_on_submit": 0,
@@ -66,7 +66,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
- "modified": "2015-09-07 15:51:26",
+ "modified": "2015-09-14 02:55:55.387298",
"modified_by": "Administrator",
"module": "HR",
"name": "Deduction Type",
diff --git a/erpnext/hr/doctype/department/department.json b/erpnext/hr/doctype/department/department.json
index e8aa143..a50ea6e 100644
--- a/erpnext/hr/doctype/department/department.json
+++ b/erpnext/hr/doctype/department/department.json
@@ -7,7 +7,7 @@
"custom": 0,
"docstatus": 0,
"doctype": "DocType",
- "document_type": "Master",
+ "document_type": "Setup",
"fields": [
{
"allow_on_submit": 0,
@@ -65,7 +65,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
- "modified": "2015-09-07 15:51:26",
+ "modified": "2015-09-14 02:55:55.449257",
"modified_by": "Administrator",
"module": "HR",
"name": "Department",
diff --git a/erpnext/hr/doctype/designation/designation.json b/erpnext/hr/doctype/designation/designation.json
index 137a5b1..55999e3 100644
--- a/erpnext/hr/doctype/designation/designation.json
+++ b/erpnext/hr/doctype/designation/designation.json
@@ -7,7 +7,7 @@
"custom": 0,
"docstatus": 0,
"doctype": "DocType",
- "document_type": "Master",
+ "document_type": "Setup",
"fields": [
{
"allow_on_submit": 0,
@@ -42,7 +42,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
- "modified": "2015-09-07 15:51:26",
+ "modified": "2015-09-14 02:55:55.508901",
"modified_by": "Administrator",
"module": "HR",
"name": "Designation",
diff --git a/erpnext/hr/doctype/earning_type/earning_type.json b/erpnext/hr/doctype/earning_type/earning_type.json
index a91a95e..61dd5d0 100644
--- a/erpnext/hr/doctype/earning_type/earning_type.json
+++ b/erpnext/hr/doctype/earning_type/earning_type.json
@@ -7,7 +7,7 @@
"custom": 0,
"docstatus": 0,
"doctype": "DocType",
- "document_type": "Master",
+ "document_type": "Setup",
"fields": [
{
"allow_on_submit": 0,
@@ -66,7 +66,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
- "modified": "2015-09-07 15:51:26",
+ "modified": "2015-09-14 02:55:55.558890",
"modified_by": "Administrator",
"module": "HR",
"name": "Earning Type",
diff --git a/erpnext/hr/doctype/employee/employee.json b/erpnext/hr/doctype/employee/employee.json
index 5deb4d7..565c4ee 100644
--- a/erpnext/hr/doctype/employee/employee.json
+++ b/erpnext/hr/doctype/employee/employee.json
@@ -7,7 +7,7 @@
"custom": 0,
"docstatus": 0,
"doctype": "DocType",
- "document_type": "Master",
+ "document_type": "Setup",
"fields": [
{
"allow_on_submit": 0,
@@ -1893,7 +1893,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
- "modified": "2015-09-07 15:51:26",
+ "modified": "2015-09-14 02:55:55.671692",
"modified_by": "Administrator",
"module": "HR",
"name": "Employee",
diff --git a/erpnext/hr/doctype/employee/employee.py b/erpnext/hr/doctype/employee/employee.py
index a2bb10c..7b5c6c1 100644
--- a/erpnext/hr/doctype/employee/employee.py
+++ b/erpnext/hr/doctype/employee/employee.py
@@ -158,8 +158,13 @@
import datetime
ret = {}
if date_of_birth:
- dt = getdate(date_of_birth) + datetime.timedelta(21915)
- ret = {'date_of_retirement': dt.strftime('%Y-%m-%d')}
+ try:
+ dt = getdate(date_of_birth) + datetime.timedelta(21915)
+ ret = {'date_of_retirement': dt.strftime('%Y-%m-%d')}
+ except ValueError:
+ # invalid date
+ ret = {}
+
return ret
@frappe.whitelist()
diff --git a/erpnext/hr/doctype/employment_type/employment_type.json b/erpnext/hr/doctype/employment_type/employment_type.json
index ab73a13..191c56a 100644
--- a/erpnext/hr/doctype/employment_type/employment_type.json
+++ b/erpnext/hr/doctype/employment_type/employment_type.json
@@ -7,7 +7,7 @@
"custom": 0,
"docstatus": 0,
"doctype": "DocType",
- "document_type": "Master",
+ "document_type": "Setup",
"fields": [
{
"allow_on_submit": 0,
@@ -42,7 +42,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
- "modified": "2015-09-07 15:51:26",
+ "modified": "2015-09-14 02:55:56.145539",
"modified_by": "Administrator",
"module": "HR",
"name": "Employment Type",
diff --git a/erpnext/hr/doctype/expense_claim/expense_claim.json b/erpnext/hr/doctype/expense_claim/expense_claim.json
index c5ef312..5d3b597 100644
--- a/erpnext/hr/doctype/expense_claim/expense_claim.json
+++ b/erpnext/hr/doctype/expense_claim/expense_claim.json
@@ -1,634 +1,634 @@
{
- "allow_copy": 0,
- "allow_import": 0,
- "allow_rename": 0,
- "autoname": "naming_series:",
- "creation": "2013-01-10 16:34:14",
- "custom": 0,
- "docstatus": 0,
- "doctype": "DocType",
+ "allow_copy": 0,
+ "allow_import": 0,
+ "allow_rename": 0,
+ "autoname": "naming_series:",
+ "creation": "2013-01-10 16:34:14",
+ "custom": 0,
+ "docstatus": 0,
+ "doctype": "DocType",
"fields": [
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "default": "EXP",
- "fieldname": "naming_series",
- "fieldtype": "Select",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Series",
- "no_copy": 1,
- "options": "EXP",
- "permlevel": 0,
- "precision": "",
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 1,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "default": "EXP",
+ "fieldname": "naming_series",
+ "fieldtype": "Select",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Series",
+ "no_copy": 1,
+ "options": "EXP",
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 1,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "default": "Draft",
- "depends_on": "eval:!doc.__islocal",
- "fieldname": "approval_status",
- "fieldtype": "Select",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 1,
- "in_list_view": 0,
- "label": "Approval Status",
- "no_copy": 1,
- "oldfieldname": "approval_status",
- "oldfieldtype": "Select",
- "options": "Draft\nApproved\nRejected",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 1,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "default": "Draft",
+ "depends_on": "eval:!doc.__islocal",
+ "fieldname": "approval_status",
+ "fieldtype": "Select",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 1,
+ "in_list_view": 0,
+ "label": "Approval Status",
+ "no_copy": 1,
+ "oldfieldname": "approval_status",
+ "oldfieldtype": "Select",
+ "options": "Draft\nApproved\nRejected",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 1,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "description": "A user with \"Expense Approver\" role",
- "fieldname": "exp_approver",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Approver",
- "no_copy": 0,
- "oldfieldname": "exp_approver",
- "oldfieldtype": "Select",
- "options": "User",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "unique": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "description": "A user with \"Expense Approver\" role",
+ "fieldname": "exp_approver",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Approver",
+ "no_copy": 0,
+ "oldfieldname": "exp_approver",
+ "oldfieldtype": "Select",
+ "options": "User",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0,
"width": "160px"
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "column_break0",
- "fieldtype": "Column Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "no_copy": 0,
- "oldfieldtype": "Column Break",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "unique": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "column_break0",
+ "fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
+ "oldfieldtype": "Column Break",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0,
"width": "50%"
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "total_claimed_amount",
- "fieldtype": "Currency",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 1,
- "label": "Total Claimed Amount",
- "no_copy": 1,
- "oldfieldname": "total_claimed_amount",
- "oldfieldtype": "Currency",
- "options": "Company:company:default_currency",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "unique": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "total_claimed_amount",
+ "fieldtype": "Currency",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 1,
+ "label": "Total Claimed Amount",
+ "no_copy": 1,
+ "oldfieldname": "total_claimed_amount",
+ "oldfieldtype": "Currency",
+ "options": "Company:company:default_currency",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0,
"width": "160px"
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "total_sanctioned_amount",
- "fieldtype": "Currency",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Total Sanctioned Amount",
- "no_copy": 1,
- "oldfieldname": "total_sanctioned_amount",
- "oldfieldtype": "Currency",
- "options": "Company:company:default_currency",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "unique": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "total_sanctioned_amount",
+ "fieldtype": "Currency",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Total Sanctioned Amount",
+ "no_copy": 1,
+ "oldfieldname": "total_sanctioned_amount",
+ "oldfieldtype": "Currency",
+ "options": "Company:company:default_currency",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0,
"width": "160px"
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "expense_details",
- "fieldtype": "Section Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "",
- "no_copy": 0,
- "oldfieldtype": "Section Break",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "expense_details",
+ "fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "",
+ "no_copy": 0,
+ "oldfieldtype": "Section Break",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "expenses",
- "fieldtype": "Table",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Expenses",
- "no_copy": 0,
- "oldfieldname": "expense_voucher_details",
- "oldfieldtype": "Table",
- "options": "Expense Claim Detail",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 1,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "expenses",
+ "fieldtype": "Table",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Expenses",
+ "no_copy": 0,
+ "oldfieldname": "expense_voucher_details",
+ "oldfieldtype": "Table",
+ "options": "Expense Claim Detail",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 1,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "sb1",
- "fieldtype": "Section Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "no_copy": 0,
- "options": "Simple",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "sb1",
+ "fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
+ "options": "Simple",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "default": "Today",
- "fieldname": "posting_date",
- "fieldtype": "Date",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 1,
- "in_list_view": 0,
- "label": "Posting Date",
- "no_copy": 0,
- "oldfieldname": "posting_date",
- "oldfieldtype": "Date",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 1,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "default": "Today",
+ "fieldname": "posting_date",
+ "fieldtype": "Date",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 1,
+ "in_list_view": 0,
+ "label": "Posting Date",
+ "no_copy": 0,
+ "oldfieldname": "posting_date",
+ "oldfieldtype": "Date",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 1,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "employee",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 1,
- "in_list_view": 0,
- "label": "From Employee",
- "no_copy": 0,
- "oldfieldname": "employee",
- "oldfieldtype": "Link",
- "options": "Employee",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 1,
- "search_index": 1,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "employee",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 1,
+ "in_list_view": 0,
+ "label": "From Employee",
+ "no_copy": 0,
+ "oldfieldname": "employee",
+ "oldfieldtype": "Link",
+ "options": "Employee",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 1,
+ "search_index": 1,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "employee_name",
- "fieldtype": "Data",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 1,
- "in_list_view": 0,
- "label": "Employee Name",
- "no_copy": 0,
- "oldfieldname": "employee_name",
- "oldfieldtype": "Data",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "unique": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "employee_name",
+ "fieldtype": "Data",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 1,
+ "in_list_view": 0,
+ "label": "Employee Name",
+ "no_copy": 0,
+ "oldfieldname": "employee_name",
+ "oldfieldtype": "Data",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0,
"width": "150px"
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "company",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 1,
- "in_list_view": 0,
- "label": "Company",
- "no_copy": 0,
- "oldfieldname": "company",
- "oldfieldtype": "Link",
- "options": "Company",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 1,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "company",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 1,
+ "in_list_view": 0,
+ "label": "Company",
+ "no_copy": 0,
+ "oldfieldname": "company",
+ "oldfieldtype": "Link",
+ "options": "Company",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 1,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "fiscal_year",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 1,
- "in_list_view": 0,
- "label": "Fiscal Year",
- "no_copy": 0,
- "oldfieldname": "fiscal_year",
- "oldfieldtype": "Select",
- "options": "Fiscal Year",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 1,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "fiscal_year",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 1,
+ "in_list_view": 0,
+ "label": "Fiscal Year",
+ "no_copy": 0,
+ "oldfieldname": "fiscal_year",
+ "oldfieldtype": "Select",
+ "options": "Fiscal Year",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 1,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "cb1",
- "fieldtype": "Column Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "no_copy": 0,
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "cb1",
+ "fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "total_amount_reimbursed",
- "fieldtype": "Currency",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Total Amount Reimbursed",
- "no_copy": 1,
- "options": "Company:company:default_currency",
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "total_amount_reimbursed",
+ "fieldtype": "Currency",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Total Amount Reimbursed",
+ "no_copy": 1,
+ "options": "Company:company:default_currency",
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "remark",
- "fieldtype": "Small Text",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Remark",
- "no_copy": 1,
- "oldfieldname": "remark",
- "oldfieldtype": "Small Text",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "remark",
+ "fieldtype": "Small Text",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Remark",
+ "no_copy": 1,
+ "oldfieldname": "remark",
+ "oldfieldtype": "Small Text",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "project",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Project",
- "no_copy": 0,
- "options": "Project",
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "project",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Project",
+ "no_copy": 0,
+ "options": "Project",
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "task",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Task",
- "no_copy": 0,
- "options": "Task",
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "task",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Task",
+ "no_copy": 0,
+ "options": "Task",
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 1,
- "bold": 0,
- "collapsible": 0,
- "default": "{employee_name}",
- "fieldname": "title",
- "fieldtype": "Data",
- "hidden": 1,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Title",
- "no_copy": 0,
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 1,
+ "bold": 0,
+ "collapsible": 0,
+ "default": "{employee_name}",
+ "fieldname": "title",
+ "fieldtype": "Data",
+ "hidden": 1,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Title",
+ "no_copy": 1,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "email_id",
- "fieldtype": "Data",
- "hidden": 1,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Employees Email Id",
- "no_copy": 0,
- "oldfieldname": "email_id",
- "oldfieldtype": "Data",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "email_id",
+ "fieldtype": "Data",
+ "hidden": 1,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Employees Email Id",
+ "no_copy": 0,
+ "oldfieldname": "email_id",
+ "oldfieldtype": "Data",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "amended_from",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 1,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Amended From",
- "no_copy": 1,
- "oldfieldname": "amended_from",
- "oldfieldtype": "Data",
- "options": "Expense Claim",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 1,
- "report_hide": 1,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "unique": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "amended_from",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 1,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Amended From",
+ "no_copy": 1,
+ "oldfieldname": "amended_from",
+ "oldfieldtype": "Data",
+ "options": "Expense Claim",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 1,
+ "report_hide": 1,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0,
"width": "160px"
}
- ],
- "hide_heading": 0,
- "hide_toolbar": 0,
- "icon": "icon-money",
- "idx": 1,
- "in_create": 0,
- "in_dialog": 0,
- "is_submittable": 1,
- "issingle": 0,
- "istable": 0,
- "modified": "2015-09-07 15:51:26",
- "modified_by": "Administrator",
- "module": "HR",
- "name": "Expense Claim",
- "owner": "harshada@webnotestech.com",
+ ],
+ "hide_heading": 0,
+ "hide_toolbar": 0,
+ "icon": "icon-money",
+ "idx": 1,
+ "in_create": 0,
+ "in_dialog": 0,
+ "is_submittable": 1,
+ "issingle": 0,
+ "istable": 0,
+ "modified": "2015-09-11 12:20:16.578324",
+ "modified_by": "Administrator",
+ "module": "HR",
+ "name": "Expense Claim",
+ "owner": "harshada@webnotestech.com",
"permissions": [
{
- "amend": 1,
- "apply_user_permissions": 0,
- "cancel": 1,
- "create": 1,
- "delete": 1,
- "email": 1,
- "export": 1,
- "if_owner": 0,
- "import": 0,
- "permlevel": 0,
- "print": 1,
- "read": 1,
- "report": 1,
- "role": "HR Manager",
- "set_user_permissions": 0,
- "share": 1,
- "submit": 1,
+ "amend": 1,
+ "apply_user_permissions": 0,
+ "cancel": 1,
+ "create": 1,
+ "delete": 1,
+ "email": 1,
+ "export": 1,
+ "if_owner": 0,
+ "import": 0,
+ "permlevel": 0,
+ "print": 1,
+ "read": 1,
+ "report": 1,
+ "role": "HR Manager",
+ "set_user_permissions": 0,
+ "share": 1,
+ "submit": 1,
"write": 1
- },
+ },
{
- "amend": 0,
- "apply_user_permissions": 0,
- "cancel": 0,
- "create": 1,
- "delete": 0,
- "email": 1,
- "export": 0,
- "if_owner": 0,
- "import": 0,
- "permlevel": 0,
- "print": 1,
- "read": 1,
- "report": 1,
- "role": "Employee",
- "set_user_permissions": 0,
- "share": 1,
- "submit": 0,
+ "amend": 0,
+ "apply_user_permissions": 0,
+ "cancel": 0,
+ "create": 1,
+ "delete": 0,
+ "email": 1,
+ "export": 0,
+ "if_owner": 0,
+ "import": 0,
+ "permlevel": 0,
+ "print": 1,
+ "read": 1,
+ "report": 1,
+ "role": "Employee",
+ "set_user_permissions": 0,
+ "share": 1,
+ "submit": 0,
"write": 1
- },
+ },
{
- "amend": 1,
- "apply_user_permissions": 0,
- "cancel": 1,
- "create": 1,
- "delete": 1,
- "email": 1,
- "export": 0,
- "if_owner": 0,
- "import": 0,
- "permlevel": 0,
- "print": 1,
- "read": 1,
- "report": 1,
- "role": "Expense Approver",
- "set_user_permissions": 0,
- "share": 1,
- "submit": 1,
- "user_permission_doctypes": "[\"Company\",\"Expense Claim\",\"Fiscal Year\",\"Project\",\"Task\",\"User\"]",
+ "amend": 1,
+ "apply_user_permissions": 0,
+ "cancel": 1,
+ "create": 1,
+ "delete": 1,
+ "email": 1,
+ "export": 0,
+ "if_owner": 0,
+ "import": 0,
+ "permlevel": 0,
+ "print": 1,
+ "read": 1,
+ "report": 1,
+ "role": "Expense Approver",
+ "set_user_permissions": 0,
+ "share": 1,
+ "submit": 1,
+ "user_permission_doctypes": "[\"Company\",\"Expense Claim\",\"Fiscal Year\",\"Project\",\"Task\",\"User\"]",
"write": 1
- },
+ },
{
- "amend": 1,
- "apply_user_permissions": 0,
- "cancel": 1,
- "create": 1,
- "delete": 1,
- "email": 1,
- "export": 0,
- "if_owner": 0,
- "import": 0,
- "permlevel": 0,
- "print": 1,
- "read": 1,
- "report": 1,
- "role": "HR User",
- "set_user_permissions": 0,
- "share": 1,
- "submit": 1,
- "user_permission_doctypes": "[\"Company\",\"Expense Claim\",\"Fiscal Year\",\"Project\",\"Task\",\"User\"]",
+ "amend": 1,
+ "apply_user_permissions": 0,
+ "cancel": 1,
+ "create": 1,
+ "delete": 1,
+ "email": 1,
+ "export": 0,
+ "if_owner": 0,
+ "import": 0,
+ "permlevel": 0,
+ "print": 1,
+ "read": 1,
+ "report": 1,
+ "role": "HR User",
+ "set_user_permissions": 0,
+ "share": 1,
+ "submit": 1,
+ "user_permission_doctypes": "[\"Company\",\"Expense Claim\",\"Fiscal Year\",\"Project\",\"Task\",\"User\"]",
"write": 1
}
- ],
- "read_only": 0,
- "read_only_onload": 0,
- "search_fields": "approval_status,employee,employee_name",
- "sort_field": "modified",
- "sort_order": "DESC",
+ ],
+ "read_only": 0,
+ "read_only_onload": 0,
+ "search_fields": "approval_status,employee,employee_name",
+ "sort_field": "modified",
+ "sort_order": "DESC",
"title_field": "title"
-}
+}
\ No newline at end of file
diff --git a/erpnext/hr/doctype/expense_claim_type/expense_claim_type.json b/erpnext/hr/doctype/expense_claim_type/expense_claim_type.json
index 5413256..be9c412 100644
--- a/erpnext/hr/doctype/expense_claim_type/expense_claim_type.json
+++ b/erpnext/hr/doctype/expense_claim_type/expense_claim_type.json
@@ -7,7 +7,7 @@
"custom": 0,
"docstatus": 0,
"doctype": "DocType",
- "document_type": "Master",
+ "document_type": "Setup",
"fields": [
{
"allow_on_submit": 0,
@@ -89,7 +89,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
- "modified": "2015-07-15 08:57:23.069980",
+ "modified": "2015-09-14 02:55:56.204289",
"modified_by": "Administrator",
"module": "HR",
"name": "Expense Claim Type",
diff --git a/erpnext/hr/doctype/holiday_list/holiday_list.json b/erpnext/hr/doctype/holiday_list/holiday_list.json
index 513bb18..4d0efbc 100644
--- a/erpnext/hr/doctype/holiday_list/holiday_list.json
+++ b/erpnext/hr/doctype/holiday_list/holiday_list.json
@@ -7,7 +7,7 @@
"custom": 0,
"docstatus": 0,
"doctype": "DocType",
- "document_type": "Master",
+ "document_type": "Setup",
"fields": [
{
"allow_on_submit": 0,
@@ -177,7 +177,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
- "modified": "2015-02-05 05:11:39.099428",
+ "modified": "2015-09-14 02:55:56.430032",
"modified_by": "Administrator",
"module": "HR",
"name": "Holiday List",
diff --git a/erpnext/hr/doctype/job_applicant/job_applicant.json b/erpnext/hr/doctype/job_applicant/job_applicant.json
index 1669f7c..0c699d4 100644
--- a/erpnext/hr/doctype/job_applicant/job_applicant.json
+++ b/erpnext/hr/doctype/job_applicant/job_applicant.json
@@ -8,7 +8,7 @@
"description": "Applicant for a Job",
"docstatus": 0,
"doctype": "DocType",
- "document_type": "Transaction",
+ "document_type": "Document",
"fields": [
{
"allow_on_submit": 0,
@@ -191,7 +191,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
- "modified": "2015-09-07 15:51:26",
+ "modified": "2015-09-14 02:55:57.100488",
"modified_by": "Administrator",
"module": "HR",
"name": "Job Applicant",
diff --git a/erpnext/hr/doctype/job_opening/job_opening.json b/erpnext/hr/doctype/job_opening/job_opening.json
index b13d0d6..1832c09 100644
--- a/erpnext/hr/doctype/job_opening/job_opening.json
+++ b/erpnext/hr/doctype/job_opening/job_opening.json
@@ -8,7 +8,7 @@
"description": "Description of a Job Opening",
"docstatus": 0,
"doctype": "DocType",
- "document_type": "Transaction",
+ "document_type": "Document",
"fields": [
{
"allow_on_submit": 0,
@@ -85,7 +85,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
- "modified": "2015-09-07 15:51:26",
+ "modified": "2015-09-14 02:55:57.210679",
"modified_by": "Administrator",
"module": "HR",
"name": "Job Opening",
diff --git a/erpnext/hr/doctype/job_opening/test_job_opening.py b/erpnext/hr/doctype/job_opening/test_job_opening.py
new file mode 100644
index 0000000..815ce5b
--- /dev/null
+++ b/erpnext/hr/doctype/job_opening/test_job_opening.py
@@ -0,0 +1,12 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
+# See license.txt
+from __future__ import unicode_literals
+
+import frappe
+import unittest
+
+# test_records = frappe.get_test_records('Job Opening')
+
+class TestJobOpening(unittest.TestCase):
+ pass
diff --git a/erpnext/hr/doctype/leave_application/leave_application.json b/erpnext/hr/doctype/leave_application/leave_application.json
index 36a845b..be1b06c 100644
--- a/erpnext/hr/doctype/leave_application/leave_application.json
+++ b/erpnext/hr/doctype/leave_application/leave_application.json
@@ -8,7 +8,7 @@
"description": "Apply / Approve Leaves",
"docstatus": 0,
"doctype": "DocType",
- "document_type": "Transaction",
+ "document_type": "Document",
"fields": [
{
"allow_on_submit": 0,
@@ -559,7 +559,7 @@
"issingle": 0,
"istable": 0,
"max_attachments": 3,
- "modified": "2015-09-07 15:51:26",
+ "modified": "2015-09-14 02:55:57.427750",
"modified_by": "Administrator",
"module": "HR",
"name": "Leave Application",
diff --git a/erpnext/hr/doctype/leave_block_list/leave_block_list.json b/erpnext/hr/doctype/leave_block_list/leave_block_list.json
index eff0f69..ca4b2f4 100644
--- a/erpnext/hr/doctype/leave_block_list/leave_block_list.json
+++ b/erpnext/hr/doctype/leave_block_list/leave_block_list.json
@@ -8,7 +8,7 @@
"description": "Block Holidays on important days.",
"docstatus": 0,
"doctype": "DocType",
- "document_type": "Master",
+ "document_type": "Setup",
"fields": [
{
"allow_on_submit": 0,
@@ -195,7 +195,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
- "modified": "2015-09-07 15:51:26",
+ "modified": "2015-09-14 02:55:57.796873",
"modified_by": "Administrator",
"module": "HR",
"name": "Leave Block List",
diff --git a/erpnext/hr/doctype/leave_type/leave_type.json b/erpnext/hr/doctype/leave_type/leave_type.json
index ce3133a..f02c636 100644
--- a/erpnext/hr/doctype/leave_type/leave_type.json
+++ b/erpnext/hr/doctype/leave_type/leave_type.json
@@ -7,7 +7,7 @@
"custom": 0,
"docstatus": 0,
"doctype": "DocType",
- "document_type": "Master",
+ "document_type": "Setup",
"fields": [
{
"allow_on_submit": 0,
@@ -174,7 +174,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
- "modified": "2015-09-07 15:51:26",
+ "modified": "2015-09-14 02:55:57.897034",
"modified_by": "Administrator",
"module": "HR",
"name": "Leave Type",
diff --git a/erpnext/hr/doctype/offer_letter/offer_letter.json b/erpnext/hr/doctype/offer_letter/offer_letter.json
index f7c3691..03fe1dd4 100644
--- a/erpnext/hr/doctype/offer_letter/offer_letter.json
+++ b/erpnext/hr/doctype/offer_letter/offer_letter.json
@@ -8,7 +8,7 @@
"default_print_format": "Offer Letter",
"docstatus": 0,
"doctype": "DocType",
- "document_type": "Transaction",
+ "document_type": "Document",
"fields": [
{
"allow_on_submit": 0,
@@ -310,7 +310,7 @@
"is_submittable": 1,
"issingle": 0,
"istable": 0,
- "modified": "2015-07-29 05:51:39.841591",
+ "modified": "2015-09-14 02:55:58.358852",
"modified_by": "Administrator",
"module": "HR",
"name": "Offer Letter",
diff --git a/erpnext/hr/doctype/offer_term/offer_term.json b/erpnext/hr/doctype/offer_term/offer_term.json
index 417d897..89917fb 100644
--- a/erpnext/hr/doctype/offer_term/offer_term.json
+++ b/erpnext/hr/doctype/offer_term/offer_term.json
@@ -7,7 +7,7 @@
"custom": 0,
"docstatus": 0,
"doctype": "DocType",
- "document_type": "Master",
+ "document_type": "Setup",
"fields": [
{
"allow_on_submit": 0,
@@ -39,7 +39,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
- "modified": "2015-03-10 18:19:23.032194",
+ "modified": "2015-09-14 02:55:58.508655",
"modified_by": "Administrator",
"module": "HR",
"name": "Offer Term",
diff --git a/erpnext/manufacturing/doctype/bom/bom.js b/erpnext/manufacturing/doctype/bom/bom.js
index f0eebb1..3bad2f0 100644
--- a/erpnext/manufacturing/doctype/bom/bom.js
+++ b/erpnext/manufacturing/doctype/bom/bom.js
@@ -147,9 +147,7 @@
cur_frm.fields_dict['items'].grid.get_field('item_code').get_query = function(doc) {
return{
query: "erpnext.controllers.queries.item_query",
- filters: {
- "name": "!" + cstr(doc.item)
- }
+ filters: [["Item", "name", "!=", doc.item]]
}
}
diff --git a/erpnext/manufacturing/doctype/bom/bom.json b/erpnext/manufacturing/doctype/bom/bom.json
index c59c8e7..de97a70 100644
--- a/erpnext/manufacturing/doctype/bom/bom.json
+++ b/erpnext/manufacturing/doctype/bom/bom.json
@@ -6,7 +6,7 @@
"custom": 0,
"docstatus": 0,
"doctype": "DocType",
- "document_type": "Master",
+ "document_type": "Setup",
"fields": [
{
"allow_on_submit": 0,
@@ -713,7 +713,7 @@
"is_submittable": 1,
"issingle": 0,
"istable": 0,
- "modified": "2015-09-07 15:51:26",
+ "modified": "2015-09-14 02:55:54.208705",
"modified_by": "Administrator",
"module": "Manufacturing",
"name": "BOM",
diff --git a/erpnext/manufacturing/doctype/operation/operation.json b/erpnext/manufacturing/doctype/operation/operation.json
index 4f8e2f2..45b2b6b 100644
--- a/erpnext/manufacturing/doctype/operation/operation.json
+++ b/erpnext/manufacturing/doctype/operation/operation.json
@@ -7,7 +7,7 @@
"custom": 0,
"docstatus": 0,
"doctype": "DocType",
- "document_type": "Master",
+ "document_type": "Setup",
"fields": [
{
"allow_on_submit": 0,
@@ -127,7 +127,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
- "modified": "2015-02-22 10:24:26.834166",
+ "modified": "2015-09-14 02:55:58.575636",
"modified_by": "Administrator",
"module": "Manufacturing",
"name": "Operation",
diff --git a/erpnext/manufacturing/doctype/production_order/production_order.py b/erpnext/manufacturing/doctype/production_order/production_order.py
index 3e380a5..e5e0a96 100644
--- a/erpnext/manufacturing/doctype/production_order/production_order.py
+++ b/erpnext/manufacturing/doctype/production_order/production_order.py
@@ -109,7 +109,7 @@
self.update_status(status)
self.update_planned_qty()
frappe.msgprint(_("Production Order status is {0}").format(status))
- self.notify_modified()
+ self.notify_update()
def update_status(self, status=None):
diff --git a/erpnext/manufacturing/doctype/workstation/workstation.json b/erpnext/manufacturing/doctype/workstation/workstation.json
index e86ccce..2f6c886 100644
--- a/erpnext/manufacturing/doctype/workstation/workstation.json
+++ b/erpnext/manufacturing/doctype/workstation/workstation.json
@@ -7,7 +7,7 @@
"custom": 0,
"docstatus": 0,
"doctype": "DocType",
- "document_type": "Master",
+ "document_type": "Setup",
"fields": [
{
"allow_on_submit": 0,
@@ -341,7 +341,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
- "modified": "2015-09-07 15:51:26",
+ "modified": "2015-09-14 02:56:01.492085",
"modified_by": "Administrator",
"module": "Manufacturing",
"name": "Workstation",
diff --git a/erpnext/patches.txt b/erpnext/patches.txt
index 2b4a017..ffb7a21 100644
--- a/erpnext/patches.txt
+++ b/erpnext/patches.txt
@@ -205,4 +205,5 @@
execute:frappe.db.set_value("Stock Settings", None, "automatically_set_serial_nos_based_on_fifo", 1)
execute:frappe.db.sql("""update `tabProject` set percent_complete=round(percent_complete, 2) where percent_complete is not null""")
erpnext.patches.v6_0.fix_outstanding_amount
-erpnext.patches.v6_0.fix_planned_qty
\ No newline at end of file
+erpnext.patches.v6_0.fix_planned_qty
+erpnext.patches.v6_0.multi_currency
\ No newline at end of file
diff --git a/erpnext/patches/v5_0/update_projects.py b/erpnext/patches/v5_0/update_projects.py
index e234246..6214927 100644
--- a/erpnext/patches/v5_0/update_projects.py
+++ b/erpnext/patches/v5_0/update_projects.py
@@ -6,6 +6,7 @@
frappe.reload_doc("projects", "doctype", "project_task")
frappe.reload_doctype("Task")
frappe.reload_doc("projects", "doctype", "task_depends_on")
+ frappe.reload_doc("projects", "doctype", "time_log")
for m in frappe.get_all("Project Milestone", "*"):
if (m.milestone and m.milestone_date
diff --git a/erpnext/patches/v5_7/item_template_attributes.py b/erpnext/patches/v5_7/item_template_attributes.py
index 9536f16..9f141b5 100644
--- a/erpnext/patches/v5_7/item_template_attributes.py
+++ b/erpnext/patches/v5_7/item_template_attributes.py
@@ -72,8 +72,6 @@
for attribute, value in item_attributes:
attribute_value_options.setdefault(attribute, []).append(value)
- save_attributes_in_template(item, attribute_value_options)
-
possible_combinations = get_possible_combinations(attribute_value_options)
for variant in all_variants:
@@ -89,6 +87,8 @@
save_attributes_in_variant(variant, combination)
break
+ save_attributes_in_template(item, attribute_value_options)
+
frappe.delete_doc("DocType", "Item Variant")
def save_attributes_in_template(item, attribute_value_options):
diff --git a/erpnext/patches/v6_0/default_activity_rate.py b/erpnext/patches/v6_0/default_activity_rate.py
index 90a7a8c..44fda34 100644
--- a/erpnext/patches/v6_0/default_activity_rate.py
+++ b/erpnext/patches/v6_0/default_activity_rate.py
@@ -1,6 +1,8 @@
import frappe
def execute():
+ frappe.reload_doc("projects", "doctype", "activity_cost")
+
for cost in frappe.db.get_list("Activity Cost", filters = {"employee": ""},
fields = ("name", "activity_type", "costing_rate", "billing_rate")):
activity_type = frappe.get_doc("Activity Type", cost.activity_type)
diff --git a/erpnext/patches/v6_0/multi_currency.py b/erpnext/patches/v6_0/multi_currency.py
new file mode 100644
index 0000000..2b53134
--- /dev/null
+++ b/erpnext/patches/v6_0/multi_currency.py
@@ -0,0 +1,106 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
+# License: GNU General Public License v3. See license.txt
+
+from __future__ import unicode_literals
+import frappe
+
+def execute():
+ # Reload doctype
+ for dt in ("Account", "GL Entry", "Journal Entry",
+ "Journal Entry Account", "Sales Invoice", "Purchase Invoice", "Customer", "Supplier"):
+ frappe.reload_doctype(dt)
+
+ for company in frappe.get_all("Company", fields=["name", "default_currency", "default_receivable_account"]):
+
+ # update currency in account and gl entry as per company currency
+ frappe.db.sql("""update `tabAccount` set account_currency = %s
+ where ifnull(account_currency, '') = '' and company=%s""", (company.default_currency, company.name))
+
+ # update newly introduced field's value in sales / purchase invoice
+ frappe.db.sql("""
+ update
+ `tabSales Invoice`
+ set
+ base_paid_amount=paid_amount,
+ base_write_off_amount=write_off_amount,
+ party_account_currency=%s
+ where company=%s
+ """, (company.default_currency, company.name))
+
+ frappe.db.sql("""
+ update
+ `tabPurchase Invoice`
+ set
+ base_write_off_amount=write_off_amount,
+ party_account_currency=%s
+ where company=%s
+ """, (company.default_currency, company.name))
+
+ # update exchange rate, debit/credit in account currency in Journal Entry
+ frappe.db.sql("""
+ update `tabJournal Entry Account` jea
+ set exchange_rate=1,
+ debit_in_account_currency=debit,
+ credit_in_account_currency=credit,
+ account_type=(select account_type from `tabAccount` where name=jea.account)
+ """)
+
+ frappe.db.sql("""
+ update `tabJournal Entry Account` jea, `tabJournal Entry` je
+ set account_currency=%s
+ where jea.parent = je.name and je.company=%s
+ """, (company.default_currency, company.name))
+
+ # update debit/credit in account currency in GL Entry
+ frappe.db.sql("""
+ update
+ `tabGL Entry`
+ set
+ debit_in_account_currency=debit,
+ credit_in_account_currency=credit,
+ account_currency=%s
+ where
+ company=%s
+ """, (company.default_currency, company.name))
+
+ # Set party account if default currency of party other than company's default currency
+ for dt in ("Customer", "Supplier"):
+ parties = frappe.get_all(dt)
+ for p in parties:
+ # Get party GL Entries
+ party_gle = frappe.db.get_value("GL Entry", {"party_type": dt, "party": p.name,
+ "company": company.name}, ["account", "account_currency"], as_dict=True)
+
+ party = frappe.get_doc(dt, p.name)
+
+ # set party account currency
+ if party_gle or not party.party_account_currency:
+ party.party_account_currency = company.default_currency
+
+ # Add default receivable /payable account if not exists
+ # and currency is other than company currency
+ if party.party_account_currency and party.party_account_currency != company.default_currency:
+ party_account_exists = False
+ for d in party.get("accounts"):
+ if d.company == company.name:
+ party_account_exists = True
+ break
+
+ if not party_account_exists:
+ party_account = None
+ if party_gle:
+ party_account = party_gle.account
+ else:
+ default_receivable_account_currency = frappe.db.get_value("Account",
+ company.default_receivable_account, "account_currency")
+ if default_receivable_account_currency != company.default_currency:
+ party_account = company.default_receivable_account
+
+ if party_account:
+ party.append("accounts", {
+ "company": company.name,
+ "account": party_account
+ })
+
+ party.flags.ignore_mandatory = True
+ party.save()
\ No newline at end of file
diff --git a/erpnext/projects/doctype/activity_cost/activity_cost.json b/erpnext/projects/doctype/activity_cost/activity_cost.json
index 88f9116..584a4cb 100644
--- a/erpnext/projects/doctype/activity_cost/activity_cost.json
+++ b/erpnext/projects/doctype/activity_cost/activity_cost.json
@@ -219,7 +219,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
- "modified": "2015-08-31 06:43:42.804365",
+ "modified": "2015-09-11 12:19:59.149156",
"modified_by": "Administrator",
"module": "Projects",
"name": "Activity Cost",
diff --git a/erpnext/projects/doctype/project/project.json b/erpnext/projects/doctype/project/project.json
index 2c33e6f..04c65cd 100644
--- a/erpnext/projects/doctype/project/project.json
+++ b/erpnext/projects/doctype/project/project.json
@@ -7,7 +7,7 @@
"custom": 0,
"docstatus": 0,
"doctype": "DocType",
- "document_type": "Master",
+ "document_type": "Setup",
"fields": [
{
"allow_on_submit": 0,
@@ -900,7 +900,7 @@
"issingle": 0,
"istable": 0,
"max_attachments": 4,
- "modified": "2015-09-07 15:51:26",
+ "modified": "2015-09-14 02:55:59.157775",
"modified_by": "Administrator",
"module": "Projects",
"name": "Project",
diff --git a/erpnext/projects/doctype/project_task/project_task.json b/erpnext/projects/doctype/project_task/project_task.json
index 14e8d78..a108ae6 100644
--- a/erpnext/projects/doctype/project_task/project_task.json
+++ b/erpnext/projects/doctype/project_task/project_task.json
@@ -19,7 +19,7 @@
"in_filter": 0,
"in_list_view": 1,
"label": "Title",
- "no_copy": 0,
+ "no_copy": 1,
"permlevel": 0,
"precision": "",
"print_hide": 0,
@@ -217,7 +217,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 1,
- "modified": "2015-08-19 12:45:54.093938",
+ "modified": "2015-09-11 12:19:41.832529",
"modified_by": "Administrator",
"module": "Projects",
"name": "Project Task",
diff --git a/erpnext/projects/doctype/task/task.json b/erpnext/projects/doctype/task/task.json
index 9f51c78..87aea43 100644
--- a/erpnext/projects/doctype/task/task.json
+++ b/erpnext/projects/doctype/task/task.json
@@ -7,7 +7,7 @@
"custom": 0,
"docstatus": 0,
"doctype": "DocType",
- "document_type": "Master",
+ "document_type": "Setup",
"fields": [
{
"allow_on_submit": 0,
@@ -682,7 +682,7 @@
"issingle": 0,
"istable": 0,
"max_attachments": 5,
- "modified": "2015-09-07 15:51:26",
+ "modified": "2015-09-14 02:56:00.252976",
"modified_by": "Administrator",
"module": "Projects",
"name": "Task",
diff --git a/erpnext/projects/doctype/time_log/time_log.json b/erpnext/projects/doctype/time_log/time_log.json
index 7e221b2..cdcf642 100644
--- a/erpnext/projects/doctype/time_log/time_log.json
+++ b/erpnext/projects/doctype/time_log/time_log.json
@@ -1,896 +1,896 @@
{
- "allow_copy": 0,
- "allow_import": 1,
- "allow_rename": 0,
- "autoname": "naming_series:",
- "creation": "2013-04-03 16:38:41",
- "custom": 0,
- "description": "Log of Activities performed by users against Tasks that can be used for tracking time, billing.",
- "docstatus": 0,
- "doctype": "DocType",
- "document_type": "Setup",
+ "allow_copy": 0,
+ "allow_import": 1,
+ "allow_rename": 0,
+ "autoname": "naming_series:",
+ "creation": "2013-04-03 16:38:41",
+ "custom": 0,
+ "description": "Log of Activities performed by users against Tasks that can be used for tracking time, billing.",
+ "docstatus": 0,
+ "doctype": "DocType",
+ "document_type": "Setup",
"fields": [
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "naming_series",
- "fieldtype": "Select",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Series",
- "no_copy": 0,
- "options": "TL-",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 1,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "naming_series",
+ "fieldtype": "Select",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Series",
+ "no_copy": 0,
+ "options": "TL-",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 1,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "column_break_2",
- "fieldtype": "Column Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "no_copy": 0,
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "column_break_2",
+ "fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "status",
- "fieldtype": "Select",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Status",
- "no_copy": 0,
- "options": "Draft\nSubmitted\nBatched for Billing\nBilled\nCancelled",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "status",
+ "fieldtype": "Select",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Status",
+ "no_copy": 0,
+ "options": "Draft\nSubmitted\nBatched for Billing\nBilled\nCancelled",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "section_break_4",
- "fieldtype": "Section Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "no_copy": 0,
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "section_break_4",
+ "fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "from_time",
- "fieldtype": "Datetime",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "From Time",
- "no_copy": 0,
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 1,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "from_time",
+ "fieldtype": "Datetime",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "From Time",
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 1,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "default": "0",
- "fieldname": "hours",
- "fieldtype": "Float",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 1,
- "label": "Hours",
- "no_copy": 0,
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "default": "0",
+ "fieldname": "hours",
+ "fieldtype": "Float",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 1,
+ "label": "Hours",
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "to_time",
- "fieldtype": "Datetime",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "To Time",
- "no_copy": 0,
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 1,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "to_time",
+ "fieldtype": "Datetime",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "To Time",
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 1,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "column_break_8",
- "fieldtype": "Column Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "no_copy": 0,
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "column_break_8",
+ "fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "depends_on": "eval:!doc.for_manufacturing",
- "fieldname": "activity_type",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Activity Type",
- "no_copy": 0,
- "options": "Activity Type",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "depends_on": "eval:!doc.for_manufacturing",
+ "fieldname": "activity_type",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Activity Type",
+ "no_copy": 0,
+ "options": "Activity Type",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "depends_on": "",
- "fieldname": "project",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 1,
- "label": "Project",
- "no_copy": 0,
- "options": "Project",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "depends_on": "",
+ "fieldname": "project",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 1,
+ "label": "Project",
+ "no_copy": 0,
+ "options": "Project",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "depends_on": "",
- "fieldname": "task",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Task",
- "no_copy": 0,
- "options": "Task",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "depends_on": "",
+ "fieldname": "task",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Task",
+ "no_copy": 0,
+ "options": "Task",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "section_break_12",
- "fieldtype": "Section Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "no_copy": 0,
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "section_break_12",
+ "fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "user",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "User",
- "no_copy": 0,
- "options": "User",
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "user",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "User",
+ "no_copy": 0,
+ "options": "User",
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "employee",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Employee",
- "no_copy": 0,
- "options": "Employee",
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "employee",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Employee",
+ "no_copy": 0,
+ "options": "Employee",
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "column_break_3",
- "fieldtype": "Column Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "no_copy": 0,
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "column_break_3",
+ "fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "for_manufacturing",
- "fieldtype": "Check",
- "hidden": 1,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "For Manufacturing",
- "no_copy": 0,
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "for_manufacturing",
+ "fieldtype": "Check",
+ "hidden": 1,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "For Manufacturing",
+ "no_copy": 0,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "billable",
- "fieldtype": "Check",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Billable",
- "no_copy": 0,
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "billable",
+ "fieldtype": "Check",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Billable",
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "depends_on": "eval:doc.for_manufacturing",
- "fieldname": "section_break_11",
- "fieldtype": "Section Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "no_copy": 0,
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "depends_on": "eval:doc.for_manufacturing",
+ "fieldname": "section_break_11",
+ "fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "depends_on": "",
- "fieldname": "production_order",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Production Order",
- "no_copy": 0,
- "options": "Production Order",
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "depends_on": "",
+ "fieldname": "production_order",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Production Order",
+ "no_copy": 0,
+ "options": "Production Order",
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "depends_on": "",
- "fieldname": "operation",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Operation",
- "no_copy": 0,
- "options": "Operation",
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "depends_on": "",
+ "fieldname": "operation",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Operation",
+ "no_copy": 0,
+ "options": "Operation",
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "depends_on": "",
- "fieldname": "operation_id",
- "fieldtype": "Data",
- "hidden": 1,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Operation ID",
- "no_copy": 0,
- "options": "",
- "permlevel": 0,
- "precision": "",
- "print_hide": 1,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "depends_on": "",
+ "fieldname": "operation_id",
+ "fieldtype": "Data",
+ "hidden": 1,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Operation ID",
+ "no_copy": 0,
+ "options": "",
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 1,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "column_break_14",
- "fieldtype": "Column Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "no_copy": 0,
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "column_break_14",
+ "fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "depends_on": "",
- "fieldname": "workstation",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Workstation",
- "no_copy": 0,
- "options": "Workstation",
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "depends_on": "",
+ "fieldname": "workstation",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Workstation",
+ "no_copy": 0,
+ "options": "Workstation",
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "depends_on": "",
- "description": "Operation completed for how many finished goods?",
- "fieldname": "completed_qty",
- "fieldtype": "Float",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Completed Qty",
- "no_copy": 0,
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "depends_on": "",
+ "description": "Operation completed for how many finished goods?",
+ "fieldname": "completed_qty",
+ "fieldtype": "Float",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Completed Qty",
+ "no_copy": 0,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "section_break_7",
- "fieldtype": "Section Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "no_copy": 0,
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "section_break_7",
+ "fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "note",
- "fieldtype": "Text Editor",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Note",
- "no_copy": 0,
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "note",
+ "fieldtype": "Text Editor",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Note",
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "depends_on": "",
- "fieldname": "section_break_24",
- "fieldtype": "Section Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "no_copy": 0,
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "depends_on": "",
+ "fieldname": "section_break_24",
+ "fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "default": "0",
- "description": "",
- "fieldname": "costing_rate",
- "fieldtype": "Currency",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Costing Rate based on Activity Type (per hour)",
- "no_copy": 0,
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "default": "0",
+ "description": "",
+ "fieldname": "costing_rate",
+ "fieldtype": "Currency",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Costing Rate based on Activity Type (per hour)",
+ "no_copy": 0,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "default": "0",
- "fieldname": "costing_amount",
- "fieldtype": "Currency",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Costing Amount",
- "no_copy": 0,
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "default": "0",
+ "fieldname": "costing_amount",
+ "fieldtype": "Currency",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Costing Amount",
+ "no_copy": 0,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "column_break_25",
- "fieldtype": "Column Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "no_copy": 0,
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "column_break_25",
+ "fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "default": "0",
- "description": "",
- "fieldname": "billing_rate",
- "fieldtype": "Currency",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Billing Rate based on Activity Type (per hour)",
- "no_copy": 0,
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "default": "0",
+ "description": "",
+ "fieldname": "billing_rate",
+ "fieldtype": "Currency",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Billing Rate based on Activity Type (per hour)",
+ "no_copy": 0,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "default": "0",
- "description": "Will be updated only if Time Log is 'Billable'",
- "fieldname": "billing_amount",
- "fieldtype": "Currency",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Billing Amount",
- "no_copy": 0,
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "default": "0",
+ "description": "Will be updated only if Time Log is 'Billable'",
+ "fieldname": "billing_amount",
+ "fieldtype": "Currency",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Billing Amount",
+ "no_copy": 0,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "section_break_29",
- "fieldtype": "Section Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "no_copy": 0,
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "section_break_29",
+ "fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "description": "Will be updated when batched.",
- "fieldname": "time_log_batch",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Time Log Batch",
- "no_copy": 0,
- "options": "Time Log Batch",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "description": "Will be updated when batched.",
+ "fieldname": "time_log_batch",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Time Log Batch",
+ "no_copy": 0,
+ "options": "Time Log Batch",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "description": "Will be updated when billed.",
- "fieldname": "sales_invoice",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Sales Invoice",
- "no_copy": 0,
- "options": "Sales Invoice",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "description": "Will be updated when billed.",
+ "fieldname": "sales_invoice",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Sales Invoice",
+ "no_copy": 0,
+ "options": "Sales Invoice",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "amended_from",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 1,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Amended From",
- "no_copy": 1,
- "options": "Time Log",
- "permlevel": 1,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "amended_from",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 1,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Amended From",
+ "no_copy": 1,
+ "options": "Time Log",
+ "permlevel": 1,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 1,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "title",
- "fieldtype": "Data",
- "hidden": 1,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Title",
- "no_copy": 0,
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 1,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "title",
+ "fieldtype": "Data",
+ "hidden": 1,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Title",
+ "no_copy": 1,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
}
- ],
- "hide_heading": 0,
- "hide_toolbar": 0,
- "icon": "icon-time",
- "idx": 1,
- "in_create": 0,
- "in_dialog": 0,
- "is_submittable": 1,
- "issingle": 0,
- "istable": 0,
- "modified": "2015-09-07 15:51:26",
- "modified_by": "Administrator",
- "module": "Projects",
- "name": "Time Log",
- "owner": "Administrator",
+ ],
+ "hide_heading": 0,
+ "hide_toolbar": 0,
+ "icon": "icon-time",
+ "idx": 1,
+ "in_create": 0,
+ "in_dialog": 0,
+ "is_submittable": 1,
+ "issingle": 0,
+ "istable": 0,
+ "modified": "2015-09-11 12:19:48.187752",
+ "modified_by": "Administrator",
+ "module": "Projects",
+ "name": "Time Log",
+ "owner": "Administrator",
"permissions": [
{
- "amend": 1,
- "apply_user_permissions": 0,
- "cancel": 1,
- "create": 1,
- "delete": 1,
- "email": 1,
- "export": 0,
- "if_owner": 0,
- "import": 0,
- "permlevel": 0,
- "print": 1,
- "read": 1,
- "report": 1,
- "role": "Projects User",
- "set_user_permissions": 0,
- "share": 1,
- "submit": 1,
+ "amend": 1,
+ "apply_user_permissions": 0,
+ "cancel": 1,
+ "create": 1,
+ "delete": 1,
+ "email": 1,
+ "export": 0,
+ "if_owner": 0,
+ "import": 0,
+ "permlevel": 0,
+ "print": 1,
+ "read": 1,
+ "report": 1,
+ "role": "Projects User",
+ "set_user_permissions": 0,
+ "share": 1,
+ "submit": 1,
"write": 1
- },
+ },
{
- "amend": 1,
- "apply_user_permissions": 0,
- "cancel": 1,
- "create": 0,
- "delete": 1,
- "email": 1,
- "export": 0,
- "if_owner": 0,
- "import": 0,
- "permlevel": 0,
- "print": 1,
- "read": 1,
- "report": 1,
- "role": "Projects Manager",
- "set_user_permissions": 0,
- "share": 1,
- "submit": 1,
+ "amend": 1,
+ "apply_user_permissions": 0,
+ "cancel": 1,
+ "create": 0,
+ "delete": 1,
+ "email": 1,
+ "export": 0,
+ "if_owner": 0,
+ "import": 0,
+ "permlevel": 0,
+ "print": 1,
+ "read": 1,
+ "report": 1,
+ "role": "Projects Manager",
+ "set_user_permissions": 0,
+ "share": 1,
+ "submit": 1,
"write": 1
}
- ],
- "read_only": 0,
- "read_only_onload": 0,
+ ],
+ "read_only": 0,
+ "read_only_onload": 0,
"title_field": "title"
-}
+}
\ No newline at end of file
diff --git a/erpnext/projects/doctype/time_log_batch/time_log_batch.json b/erpnext/projects/doctype/time_log_batch/time_log_batch.json
index f78a359..8f5580f 100644
--- a/erpnext/projects/doctype/time_log_batch/time_log_batch.json
+++ b/erpnext/projects/doctype/time_log_batch/time_log_batch.json
@@ -8,7 +8,7 @@
"description": "Batch Time Logs for Billing.",
"docstatus": 0,
"doctype": "DocType",
- "document_type": "Transaction",
+ "document_type": "Document",
"fields": [
{
"allow_on_submit": 0,
@@ -261,7 +261,7 @@
"is_submittable": 1,
"issingle": 0,
"istable": 0,
- "modified": "2015-09-07 15:51:26",
+ "modified": "2015-09-14 02:56:00.731472",
"modified_by": "Administrator",
"module": "Projects",
"name": "Time Log Batch",
diff --git a/erpnext/public/js/controllers/taxes_and_totals.js b/erpnext/public/js/controllers/taxes_and_totals.js
index 0b3ca7f..b1b24cf 100644
--- a/erpnext/public/js/controllers/taxes_and_totals.js
+++ b/erpnext/public/js/controllers/taxes_and_totals.js
@@ -491,5 +491,45 @@
this.frm.doc.total_advance = flt(total_allocated_amount, precision("total_advance"));
this.calculate_outstanding_amount(update_paid_amount);
+ },
+
+ calculate_outstanding_amount: function(update_paid_amount) {
+ // NOTE:
+ // paid_amount and write_off_amount is only for POS Invoice
+ // total_advance is only for non POS Invoice
+ if(this.frm.doc.is_return || this.frm.doc.docstatus > 0) return;
+
+ frappe.model.round_floats_in(this.frm.doc, ["grand_total", "total_advance", "write_off_amount"]);
+
+ var total_amount_to_pay = flt((this.frm.doc.grand_total - this.frm.doc.total_advance
+ - this.frm.doc.write_off_amount), precision("grand_total"));
+
+ if(this.frm.doc.doctype == "Sales Invoice") {
+ frappe.model.round_floats_in(this.frm.doc, ["paid_amount"]);
+
+ if(this.frm.doc.is_pos) {
+ if(!this.frm.doc.paid_amount || update_paid_amount===undefined || update_paid_amount) {
+ this.frm.doc.paid_amount = flt(total_amount_to_pay);
+ }
+ } else {
+ this.frm.doc.paid_amount = 0
+ }
+ this.set_in_company_currency(this.frm.doc, ["paid_amount"]);
+ this.frm.refresh_field("paid_amount");
+ this.frm.refresh_field("base_paid_amount");
+
+ var outstanding_amount = flt(total_amount_to_pay - this.frm.doc.paid_amount,
+ precision("outstanding_amount"));
+
+ } else if(this.frm.doc.doctype == "Purchase Invoice") {
+ var outstanding_amount = flt(total_amount_to_pay, precision("outstanding_amount"));
+ }
+
+ if(this.frm.doc.party_account_currency == this.frm.doc.currency) {
+ this.frm.set_value("outstanding_amount", outstanding_amount);
+ } else {
+ this.frm.set_value("outstanding_amount",
+ flt(outstanding_amount * this.frm.doc.conversion_rate, precision("outstanding_amount")));
+ }
}
})
diff --git a/erpnext/public/js/controllers/transaction.js b/erpnext/public/js/controllers/transaction.js
index c6b26bc..7f2cee7 100644
--- a/erpnext/public/js/controllers/transaction.js
+++ b/erpnext/public/js/controllers/transaction.js
@@ -423,11 +423,14 @@
setup_field_label_map(["base_total", "base_net_total", "base_total_taxes_and_charges",
"base_discount_amount", "base_grand_total", "base_rounded_total", "base_in_words",
"base_taxes_and_charges_added", "base_taxes_and_charges_deducted", "total_amount_to_pay",
- "outstanding_amount", "total_advance", "paid_amount", "write_off_amount"], company_currency);
+ "base_paid_amount", "base_write_off_amount"
+ ], company_currency);
setup_field_label_map(["total", "net_total", "total_taxes_and_charges", "discount_amount",
"grand_total", "taxes_and_charges_added", "taxes_and_charges_deducted",
- "rounded_total", "in_words"], this.frm.doc.currency);
+ "rounded_total", "in_words", "paid_amount", "write_off_amount"], this.frm.doc.currency);
+
+ setup_field_label_map(["outstanding_amount", "total_advance"], this.frm.doc.party_account_currency);
cur_frm.set_df_property("conversion_rate", "description", "1 " + this.frm.doc.currency
+ " = [?] " + company_currency)
@@ -440,7 +443,8 @@
// toggle fields
this.frm.toggle_display(["conversion_rate", "base_total", "base_net_total", "base_total_taxes_and_charges",
"base_taxes_and_charges_added", "base_taxes_and_charges_deducted",
- "base_grand_total", "base_rounded_total", "base_in_words", "base_discount_amount"],
+ "base_grand_total", "base_rounded_total", "base_in_words", "base_discount_amount",
+ "base_paid_amount", "base_write_off_amount"],
this.frm.doc.currency != company_currency);
this.frm.toggle_display(["plc_conversion_rate", "price_list_currency"],
diff --git a/erpnext/public/js/pos/pos.js b/erpnext/public/js/pos/pos.js
index 5f82796..02eeab0 100644
--- a/erpnext/public/js/pos/pos.js
+++ b/erpnext/public/js/pos/pos.js
@@ -473,13 +473,11 @@
}
me.frm.set_value("mode_of_payment", values.mode_of_payment);
- //me.frm.cscript.calculate_taxes_and_totals();
-
- var paid_amount = flt((flt(values.paid_amount) - flt(values.change)) / me.frm.doc.conversion_rate, precision("paid_amount"));
+ var paid_amount = flt((flt(values.paid_amount) - flt(values.change)), precision("paid_amount"));
me.frm.set_value("paid_amount", paid_amount);
-
+
// specifying writeoff amount here itself, so as to avoid recursion issue
- me.frm.set_value("write_off_amount", me.frm.doc.base_grand_total - paid_amount);
+ me.frm.set_value("write_off_amount", me.frm.doc.grand_total - paid_amount);
me.frm.set_value("outstanding_amount", 0);
me.frm.savesubmit(this);
diff --git a/erpnext/selling/doctype/campaign/campaign.json b/erpnext/selling/doctype/campaign/campaign.json
index 92c8ecf..4ff55c4 100644
--- a/erpnext/selling/doctype/campaign/campaign.json
+++ b/erpnext/selling/doctype/campaign/campaign.json
@@ -8,7 +8,7 @@
"description": "Keep Track of Sales Campaigns. Keep track of Leads, Quotations, Sales Order etc from Campaigns to gauge Return on Investment. ",
"docstatus": 0,
"doctype": "DocType",
- "document_type": "Master",
+ "document_type": "Setup",
"fields": [
{
"allow_on_submit": 0,
@@ -111,7 +111,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
- "modified": "2015-09-07 15:51:26",
+ "modified": "2015-09-14 02:55:54.566102",
"modified_by": "Administrator",
"module": "Selling",
"name": "Campaign",
diff --git a/erpnext/selling/doctype/customer/customer.js b/erpnext/selling/doctype/customer/customer.js
index ac0f636..e596ae4 100644
--- a/erpnext/selling/doctype/customer/customer.js
+++ b/erpnext/selling/doctype/customer/customer.js
@@ -12,7 +12,15 @@
frm.toggle_display(['address_html','contact_html'], !frm.doc.__islocal);
- if(!frm.doc.__islocal) erpnext.utils.render_address_and_contact(frm);
+ if(!frm.doc.__islocal) {
+ erpnext.utils.render_address_and_contact(frm);
+ }
+
+ var grid = cur_frm.get_field("sales_team").grid;
+ grid.set_column_disp("allocated_percentage", false);
+ grid.set_column_disp("allocated_amount", false);
+ grid.set_column_disp("incentives", false);
+
})
cur_frm.cscript.onload = function(doc, dt, dn) {
@@ -56,16 +64,12 @@
},
callback: function(r) {
if (in_list(user_roles, "Accounts User") || in_list(user_roles, "Accounts Manager")) {
- if(r.message["company_currency"].length == 1) {
- cur_frm.dashboard.set_headline(
- __("Total Billing This Year: ") + "<b>"
- + format_currency(r.message.billing_this_year, r.message["company_currency"][0])
- + '</b> / <span class="text-muted">' + __("Unpaid") + ": <b>"
- + format_currency(r.message.total_unpaid, r.message["company_currency"][0])
- + '</b></span>');
- } else {
- cur_frm.dashboard.set_headline("");
- }
+ cur_frm.dashboard.set_headline(
+ __("Total Billing This Year: ") + "<b>"
+ + format_currency(r.message.billing_this_year, cur_frm.doc.party_account_currency)
+ + '</b> / <span class="text-muted">' + __("Unpaid") + ": <b>"
+ + format_currency(r.message.total_unpaid, cur_frm.doc.party_account_currency)
+ + '</b></span>');
}
cur_frm.dashboard.set_badge_count(r.message);
}
@@ -92,11 +96,17 @@
cur_frm.fields_dict['accounts'].grid.get_field('account').get_query = function(doc, cdt, cdn) {
var d = locals[cdt][cdn];
+ var filters = {
+ 'account_type': 'Receivable',
+ 'company': d.company,
+ "is_group": 0
+ };
+
+ if(doc.party_account_currency) {
+ $.extend(filters, {"account_currency": doc.party_account_currency});
+ }
+
return {
- filters: {
- 'account_type': 'Receivable',
- 'company': d.company,
- "is_group": 0
- }
+ filters: filters
}
}
diff --git a/erpnext/selling/doctype/customer/customer.json b/erpnext/selling/doctype/customer/customer.json
index 4a8baaf..51ddc46 100644
--- a/erpnext/selling/doctype/customer/customer.json
+++ b/erpnext/selling/doctype/customer/customer.json
@@ -1,990 +1,1013 @@
{
- "allow_copy": 0,
- "allow_import": 1,
- "allow_rename": 1,
- "autoname": "naming_series:",
- "creation": "2013-06-11 14:26:44",
- "custom": 0,
- "description": "Buyer of Goods and Services.",
- "docstatus": 0,
- "doctype": "DocType",
- "document_type": "Setup",
+ "allow_copy": 0,
+ "allow_import": 1,
+ "allow_rename": 1,
+ "autoname": "naming_series:",
+ "creation": "2013-06-11 14:26:44",
+ "custom": 0,
+ "description": "Buyer of Goods and Services.",
+ "docstatus": 0,
+ "doctype": "DocType",
+ "document_type": "Setup",
"fields": [
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "basic_info",
- "fieldtype": "Section Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "",
- "no_copy": 0,
- "oldfieldtype": "Section Break",
- "options": "icon-user",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "basic_info",
+ "fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "",
+ "no_copy": 0,
+ "oldfieldtype": "Section Break",
+ "options": "icon-user",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "naming_series",
- "fieldtype": "Select",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Series",
- "no_copy": 1,
- "options": "CUST-",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "naming_series",
+ "fieldtype": "Select",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Series",
+ "no_copy": 1,
+ "options": "CUST-",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "customer_name",
- "fieldtype": "Data",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 1,
- "in_list_view": 0,
- "label": "Full Name",
- "no_copy": 1,
- "oldfieldname": "customer_name",
- "oldfieldtype": "Data",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 1,
- "search_index": 1,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "customer_name",
+ "fieldtype": "Data",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 1,
+ "in_list_view": 0,
+ "label": "Full Name",
+ "no_copy": 1,
+ "oldfieldname": "customer_name",
+ "oldfieldtype": "Data",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 1,
+ "search_index": 1,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "customer_type",
- "fieldtype": "Select",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Type",
- "no_copy": 0,
- "oldfieldname": "customer_type",
- "oldfieldtype": "Select",
- "options": "\nCompany\nIndividual",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 1,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "customer_type",
+ "fieldtype": "Select",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Type",
+ "no_copy": 0,
+ "oldfieldname": "customer_type",
+ "oldfieldtype": "Select",
+ "options": "\nCompany\nIndividual",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 1,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "lead_name",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 1,
- "in_list_view": 0,
- "label": "From Lead",
- "no_copy": 1,
- "oldfieldname": "lead_name",
- "oldfieldtype": "Link",
- "options": "Lead",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 1,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "lead_name",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 1,
+ "in_list_view": 0,
+ "label": "From Lead",
+ "no_copy": 1,
+ "oldfieldname": "lead_name",
+ "oldfieldtype": "Link",
+ "options": "Lead",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 1,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "column_break0",
- "fieldtype": "Column Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "no_copy": 0,
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "unique": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "column_break0",
+ "fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0,
"width": "50%"
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "description": "",
- "fieldname": "customer_group",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 1,
- "in_list_view": 1,
- "label": "Customer Group",
- "no_copy": 0,
- "oldfieldname": "customer_group",
- "oldfieldtype": "Link",
- "options": "Customer Group",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 1,
- "search_index": 1,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "description": "",
+ "fieldname": "customer_group",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 1,
+ "in_list_view": 1,
+ "label": "Customer Group",
+ "no_copy": 0,
+ "oldfieldname": "customer_group",
+ "oldfieldtype": "Link",
+ "options": "Customer Group",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 1,
+ "search_index": 1,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "description": "",
- "fieldname": "territory",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 1,
- "label": "Territory",
- "no_copy": 0,
- "oldfieldname": "territory",
- "oldfieldtype": "Link",
- "options": "Territory",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 1,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "description": "",
+ "fieldname": "territory",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 1,
+ "label": "Territory",
+ "no_copy": 0,
+ "oldfieldname": "territory",
+ "oldfieldtype": "Link",
+ "options": "Territory",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 1,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "tax_id",
- "fieldtype": "Data",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Tax ID",
- "no_copy": 0,
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "tax_id",
+ "fieldtype": "Data",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Tax ID",
+ "no_copy": 0,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "is_frozen",
- "fieldtype": "Check",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Is Frozen",
- "no_copy": 0,
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "is_frozen",
+ "fieldtype": "Check",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Is Frozen",
+ "no_copy": 0,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "currency_and_price_list",
- "fieldtype": "Section Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "",
- "no_copy": 0,
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "currency_and_price_list",
+ "fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "",
+ "no_copy": 0,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "default_currency",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 1,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Currency",
- "no_copy": 1,
- "options": "Currency",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "default_currency",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 1,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Billing Currency",
+ "no_copy": 1,
+ "options": "Currency",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "default_price_list",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 1,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Default Price List",
- "no_copy": 0,
- "options": "Price List",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "default_price_list",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 1,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Default Price List",
+ "no_copy": 0,
+ "options": "Price List",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "column_break_14",
- "fieldtype": "Column Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "no_copy": 0,
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "column_break_14",
+ "fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "default_taxes_and_charges",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 1,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Default Taxes and Charges",
- "no_copy": 0,
- "options": "Sales Taxes and Charges Template",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "default_taxes_and_charges",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 1,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Default Taxes and Charges",
+ "no_copy": 0,
+ "options": "Sales Taxes and Charges Template",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "depends_on": "eval:!doc.__islocal",
- "fieldname": "address_contacts",
- "fieldtype": "Section Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Address and Contact",
- "no_copy": 0,
- "options": "icon-map-marker",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "depends_on": "eval:!doc.__islocal",
+ "fieldname": "address_contacts",
+ "fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Address and Contact",
+ "no_copy": 0,
+ "options": "icon-map-marker",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "address_html",
- "fieldtype": "HTML",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Address HTML",
- "no_copy": 0,
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "address_html",
+ "fieldtype": "HTML",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Address HTML",
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "column_break1",
- "fieldtype": "Column Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "no_copy": 0,
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "unique": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "column_break1",
+ "fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0,
"width": "50%"
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "contact_html",
- "fieldtype": "HTML",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Contact HTML",
- "no_copy": 0,
- "oldfieldtype": "HTML",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "contact_html",
+ "fieldtype": "HTML",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Contact HTML",
+ "no_copy": 0,
+ "oldfieldtype": "HTML",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 1,
- "collapsible_depends_on": "accounts",
- "fieldname": "default_receivable_accounts",
- "fieldtype": "Section Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Default Receivable Accounts",
- "no_copy": 0,
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 1,
+ "collapsible_depends_on": "accounts",
+ "fieldname": "default_receivable_accounts",
+ "fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Default Receivable Accounts",
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "depends_on": "eval:!doc.__islocal",
- "description": "Mention if non-standard receivable account applicable",
- "fieldname": "accounts",
- "fieldtype": "Table",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Accounts",
- "no_copy": 0,
- "options": "Party Account",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "party_account_currency",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Accounting Currency",
+ "no_copy": 0,
+ "options": "Currency",
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 1,
- "collapsible_depends_on": "eval:doc.credit_days || doc.credit_limit",
- "fieldname": "column_break2",
- "fieldtype": "Section Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Credit Limit",
- "no_copy": 0,
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "unique": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "depends_on": "",
+ "description": "Mention if non-standard receivable account",
+ "fieldname": "accounts",
+ "fieldtype": "Table",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Accounts",
+ "no_copy": 0,
+ "options": "Party Account",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 1,
+ "collapsible_depends_on": "eval:doc.credit_days || doc.credit_limit",
+ "fieldname": "column_break2",
+ "fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Credit Limit",
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0,
"width": "50%"
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "credit_days_based_on",
- "fieldtype": "Select",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Credit Days Based On",
- "no_copy": 0,
- "options": "\nFixed Days\nLast Day of the Next Month",
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "credit_days_based_on",
+ "fieldtype": "Select",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Credit Days Based On",
+ "no_copy": 0,
+ "options": "\nFixed Days\nLast Day of the Next Month",
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "depends_on": "eval:doc.credit_days_based_on=='Fixed Days'",
- "fieldname": "credit_days",
- "fieldtype": "Int",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Credit Days",
- "no_copy": 0,
- "oldfieldname": "credit_days",
- "oldfieldtype": "Int",
- "permlevel": 1,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "depends_on": "eval:doc.credit_days_based_on=='Fixed Days'",
+ "fieldname": "credit_days",
+ "fieldtype": "Int",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Credit Days",
+ "no_copy": 0,
+ "oldfieldname": "credit_days",
+ "oldfieldtype": "Int",
+ "permlevel": 1,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "credit_limit",
- "fieldtype": "Currency",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Credit Limit",
- "no_copy": 0,
- "oldfieldname": "credit_limit",
- "oldfieldtype": "Currency",
- "options": "Company:company:default_currency",
- "permlevel": 1,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "credit_limit",
+ "fieldtype": "Currency",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Credit Limit",
+ "no_copy": 0,
+ "oldfieldname": "credit_limit",
+ "oldfieldtype": "Currency",
+ "options": "",
+ "permlevel": 1,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 1,
- "collapsible_depends_on": "customer_details",
- "fieldname": "more_info",
- "fieldtype": "Section Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Customer Details",
- "no_copy": 0,
- "oldfieldtype": "Section Break",
- "options": "icon-file-text",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 1,
+ "collapsible_depends_on": "customer_details",
+ "fieldname": "more_info",
+ "fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Customer Details",
+ "no_copy": 0,
+ "oldfieldtype": "Section Break",
+ "options": "icon-file-text",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "description": "Additional information regarding the customer.",
- "fieldname": "customer_details",
- "fieldtype": "Text",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Customer Details",
- "no_copy": 0,
- "oldfieldname": "customer_details",
- "oldfieldtype": "Code",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "description": "Additional information regarding the customer.",
+ "fieldname": "customer_details",
+ "fieldtype": "Text",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Customer Details",
+ "no_copy": 0,
+ "oldfieldname": "customer_details",
+ "oldfieldtype": "Code",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "website",
- "fieldtype": "Data",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Website",
- "no_copy": 0,
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "website",
+ "fieldtype": "Data",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Website",
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 1,
- "collapsible_depends_on": "default_sales_partner",
- "fieldname": "sales_team_section_break",
- "fieldtype": "Section Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Sales Partner and Commission",
- "no_copy": 0,
- "oldfieldtype": "Section Break",
- "options": "icon-group",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 1,
+ "collapsible_depends_on": "default_sales_partner",
+ "fieldname": "sales_team_section_break",
+ "fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Sales Partner and Commission",
+ "no_copy": 0,
+ "oldfieldtype": "Section Break",
+ "options": "icon-group",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "default_sales_partner",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 1,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Sales Partner",
- "no_copy": 0,
- "oldfieldname": "default_sales_partner",
- "oldfieldtype": "Link",
- "options": "Sales Partner",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "default_sales_partner",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 1,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Sales Partner",
+ "no_copy": 0,
+ "oldfieldname": "default_sales_partner",
+ "oldfieldtype": "Link",
+ "options": "Sales Partner",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "default_commission_rate",
- "fieldtype": "Float",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Commission Rate",
- "no_copy": 0,
- "oldfieldname": "default_commission_rate",
- "oldfieldtype": "Currency",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "default_commission_rate",
+ "fieldtype": "Float",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Commission Rate",
+ "no_copy": 0,
+ "oldfieldname": "default_commission_rate",
+ "oldfieldtype": "Currency",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 1,
- "collapsible_depends_on": "sales_team",
- "fieldname": "sales_team_section",
- "fieldtype": "Section Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Sales Team",
- "no_copy": 0,
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 1,
+ "collapsible_depends_on": "sales_team",
+ "fieldname": "sales_team_section",
+ "fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Sales Team",
+ "no_copy": 0,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "sales_team",
- "fieldtype": "Table",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Sales Team Details",
- "no_copy": 0,
- "oldfieldname": "sales_team",
- "oldfieldtype": "Table",
- "options": "Sales Team",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "sales_team",
+ "fieldtype": "Table",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Sales Team Details",
+ "no_copy": 0,
+ "oldfieldname": "sales_team",
+ "oldfieldtype": "Table",
+ "options": "Sales Team",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
- },
+ },
{
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "communications",
- "fieldtype": "Table",
- "hidden": 1,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Communications",
- "no_copy": 0,
- "options": "Communication",
- "permlevel": 0,
- "print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "communications",
+ "fieldtype": "Table",
+ "hidden": 1,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Communications",
+ "no_copy": 0,
+ "options": "Communication",
+ "permlevel": 0,
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
"unique": 0
}
- ],
- "hide_heading": 0,
- "hide_toolbar": 0,
- "icon": "icon-user",
- "idx": 1,
- "in_create": 0,
- "in_dialog": 0,
- "is_submittable": 0,
- "issingle": 0,
- "istable": 0,
- "modified": "2015-09-07 15:51:26",
- "modified_by": "Administrator",
- "module": "Selling",
- "name": "Customer",
- "owner": "Administrator",
+ ],
+ "hide_heading": 0,
+ "hide_toolbar": 0,
+ "icon": "icon-user",
+ "idx": 1,
+ "in_create": 0,
+ "in_dialog": 0,
+ "is_submittable": 0,
+ "issingle": 0,
+ "istable": 0,
+ "modified": "2015-09-17 14:05:38.541266",
+ "modified_by": "Administrator",
+ "module": "Selling",
+ "name": "Customer",
+ "owner": "Administrator",
"permissions": [
{
- "amend": 0,
- "apply_user_permissions": 0,
- "cancel": 0,
- "create": 1,
- "delete": 0,
- "email": 1,
- "export": 0,
- "if_owner": 0,
- "import": 0,
- "permlevel": 0,
- "print": 1,
- "read": 1,
- "report": 1,
- "role": "Sales User",
- "set_user_permissions": 0,
- "share": 1,
- "submit": 0,
+ "amend": 0,
+ "apply_user_permissions": 0,
+ "cancel": 0,
+ "create": 1,
+ "delete": 0,
+ "email": 1,
+ "export": 0,
+ "if_owner": 0,
+ "import": 0,
+ "permlevel": 0,
+ "print": 1,
+ "read": 1,
+ "report": 1,
+ "role": "Sales User",
+ "set_user_permissions": 0,
+ "share": 1,
+ "submit": 0,
"write": 1
- },
+ },
{
- "amend": 0,
- "apply_user_permissions": 0,
- "cancel": 0,
- "create": 0,
- "delete": 0,
- "email": 0,
- "export": 0,
- "if_owner": 0,
- "import": 0,
- "permlevel": 1,
- "print": 0,
- "read": 1,
- "report": 0,
- "role": "Sales User",
- "set_user_permissions": 0,
- "share": 0,
- "submit": 0,
+ "amend": 0,
+ "apply_user_permissions": 0,
+ "cancel": 0,
+ "create": 0,
+ "delete": 0,
+ "email": 0,
+ "export": 0,
+ "if_owner": 0,
+ "import": 0,
+ "permlevel": 1,
+ "print": 0,
+ "read": 1,
+ "report": 0,
+ "role": "Sales User",
+ "set_user_permissions": 0,
+ "share": 0,
+ "submit": 0,
"write": 0
- },
+ },
{
- "amend": 0,
- "apply_user_permissions": 0,
- "cancel": 0,
- "create": 0,
- "delete": 0,
- "email": 1,
- "export": 0,
- "if_owner": 0,
- "import": 0,
- "permlevel": 0,
- "print": 1,
- "read": 1,
- "report": 1,
- "role": "Sales Manager",
- "set_user_permissions": 0,
- "share": 0,
- "submit": 0,
+ "amend": 0,
+ "apply_user_permissions": 0,
+ "cancel": 0,
+ "create": 0,
+ "delete": 0,
+ "email": 1,
+ "export": 0,
+ "if_owner": 0,
+ "import": 0,
+ "permlevel": 0,
+ "print": 1,
+ "read": 1,
+ "report": 1,
+ "role": "Sales Manager",
+ "set_user_permissions": 0,
+ "share": 0,
+ "submit": 0,
"write": 0
- },
+ },
{
- "amend": 0,
- "apply_user_permissions": 0,
- "cancel": 0,
- "create": 1,
- "delete": 1,
- "email": 1,
- "export": 0,
- "if_owner": 0,
- "import": 0,
- "permlevel": 0,
- "print": 1,
- "read": 1,
- "report": 1,
- "role": "Sales Master Manager",
- "set_user_permissions": 1,
- "share": 1,
- "submit": 0,
+ "amend": 0,
+ "apply_user_permissions": 0,
+ "cancel": 0,
+ "create": 1,
+ "delete": 1,
+ "email": 1,
+ "export": 0,
+ "if_owner": 0,
+ "import": 0,
+ "permlevel": 0,
+ "print": 1,
+ "read": 1,
+ "report": 1,
+ "role": "Sales Master Manager",
+ "set_user_permissions": 1,
+ "share": 1,
+ "submit": 0,
"write": 1
- },
+ },
{
- "amend": 0,
- "apply_user_permissions": 0,
- "cancel": 0,
- "create": 0,
- "delete": 0,
- "email": 0,
- "export": 0,
- "if_owner": 0,
- "import": 0,
- "permlevel": 1,
- "print": 0,
- "read": 1,
- "report": 0,
- "role": "Sales Master Manager",
- "set_user_permissions": 0,
- "share": 0,
- "submit": 0,
+ "amend": 0,
+ "apply_user_permissions": 0,
+ "cancel": 0,
+ "create": 0,
+ "delete": 0,
+ "email": 0,
+ "export": 0,
+ "if_owner": 0,
+ "import": 0,
+ "permlevel": 1,
+ "print": 0,
+ "read": 1,
+ "report": 0,
+ "role": "Sales Master Manager",
+ "set_user_permissions": 0,
+ "share": 0,
+ "submit": 0,
"write": 1
- },
+ },
{
- "amend": 0,
- "apply_user_permissions": 0,
- "cancel": 0,
- "create": 0,
- "delete": 0,
- "email": 1,
- "export": 0,
- "if_owner": 0,
- "import": 0,
- "permlevel": 0,
- "print": 1,
- "read": 1,
- "report": 1,
- "role": "Stock User",
- "set_user_permissions": 0,
- "share": 0,
- "submit": 0,
+ "amend": 0,
+ "apply_user_permissions": 0,
+ "cancel": 0,
+ "create": 0,
+ "delete": 0,
+ "email": 1,
+ "export": 0,
+ "if_owner": 0,
+ "import": 0,
+ "permlevel": 0,
+ "print": 1,
+ "read": 1,
+ "report": 1,
+ "role": "Stock User",
+ "set_user_permissions": 0,
+ "share": 0,
+ "submit": 0,
"write": 0
- },
+ },
{
- "amend": 0,
- "apply_user_permissions": 0,
- "cancel": 0,
- "create": 0,
- "delete": 0,
- "email": 1,
- "export": 0,
- "if_owner": 0,
- "import": 0,
- "permlevel": 0,
- "print": 1,
- "read": 1,
- "report": 1,
- "role": "Stock Manager",
- "set_user_permissions": 0,
- "share": 0,
- "submit": 0,
+ "amend": 0,
+ "apply_user_permissions": 0,
+ "cancel": 0,
+ "create": 0,
+ "delete": 0,
+ "email": 1,
+ "export": 0,
+ "if_owner": 0,
+ "import": 0,
+ "permlevel": 0,
+ "print": 1,
+ "read": 1,
+ "report": 1,
+ "role": "Stock Manager",
+ "set_user_permissions": 0,
+ "share": 0,
+ "submit": 0,
"write": 0
- },
+ },
{
- "amend": 0,
- "apply_user_permissions": 0,
- "cancel": 0,
- "create": 0,
- "delete": 0,
- "email": 1,
- "export": 0,
- "if_owner": 0,
- "import": 0,
- "permlevel": 0,
- "print": 1,
- "read": 1,
- "report": 1,
- "role": "Accounts User",
- "set_user_permissions": 0,
- "share": 0,
- "submit": 0,
+ "amend": 0,
+ "apply_user_permissions": 0,
+ "cancel": 0,
+ "create": 0,
+ "delete": 0,
+ "email": 1,
+ "export": 0,
+ "if_owner": 0,
+ "import": 0,
+ "permlevel": 0,
+ "print": 1,
+ "read": 1,
+ "report": 1,
+ "role": "Accounts User",
+ "set_user_permissions": 0,
+ "share": 0,
+ "submit": 0,
"write": 0
- },
+ },
{
- "amend": 0,
- "apply_user_permissions": 0,
- "cancel": 0,
- "create": 0,
- "delete": 0,
- "email": 1,
- "export": 0,
- "if_owner": 0,
- "import": 0,
- "permlevel": 0,
- "print": 1,
- "read": 1,
- "report": 1,
- "role": "Accounts Manager",
- "set_user_permissions": 0,
- "share": 0,
- "submit": 0,
+ "amend": 0,
+ "apply_user_permissions": 0,
+ "cancel": 0,
+ "create": 0,
+ "delete": 0,
+ "email": 1,
+ "export": 0,
+ "if_owner": 0,
+ "import": 0,
+ "permlevel": 0,
+ "print": 1,
+ "read": 1,
+ "report": 1,
+ "role": "Accounts Manager",
+ "set_user_permissions": 0,
+ "share": 0,
+ "submit": 0,
"write": 0
}
- ],
- "read_only": 0,
- "read_only_onload": 0,
- "search_fields": "customer_name,customer_group,territory",
+ ],
+ "read_only": 0,
+ "read_only_onload": 0,
+ "search_fields": "customer_name,customer_group,territory",
"title_field": "customer_name"
-}
\ No newline at end of file
+}
diff --git a/erpnext/selling/doctype/customer/customer.py b/erpnext/selling/doctype/customer/customer.py
index 5cbf243..6b67c88 100644
--- a/erpnext/selling/doctype/customer/customer.py
+++ b/erpnext/selling/doctype/customer/customer.py
@@ -10,6 +10,7 @@
from erpnext.utilities.transaction_base import TransactionBase
from erpnext.utilities.address_and_contact import load_address_and_contact
+from erpnext.accounts.party import validate_accounting_currency, validate_party_account
from frappe.desk.reportview import build_match_conditions
class Customer(TransactionBase):
@@ -27,12 +28,14 @@
else:
self.name = make_autoname(self.naming_series+'.#####')
- def validate_values(self):
+ def validate_mandatory(self):
if frappe.defaults.get_global_default('cust_master_name') == 'Naming Series' and not self.naming_series:
frappe.throw(_("Series is mandatory"), frappe.MandatoryError)
-
+
def validate(self):
- self.validate_values()
+ self.validate_mandatory()
+ validate_accounting_currency(self)
+ validate_party_account(self)
def update_lead_status(self):
if self.lead_name:
@@ -125,9 +128,11 @@
out[doctype] = frappe.db.get_value(doctype,
{"customer": customer, "docstatus": ["!=", 2] }, "count(*)")
- billing_this_year = frappe.db.sql("""select sum(base_grand_total)
- from `tabSales Invoice`
- where customer=%s and docstatus = 1 and fiscal_year = %s""",
+ billing_this_year = frappe.db.sql("""
+ select sum(ifnull(debit_in_account_currency, 0)) - sum(ifnull(credit_in_account_currency, 0))
+ from `tabGL Entry`
+ where voucher_type='Sales Invoice' and party_type = 'Customer'
+ and party=%s and fiscal_year = %s""",
(customer, frappe.db.get_default("fiscal_year")))
total_unpaid = frappe.db.sql("""select sum(outstanding_amount)
@@ -136,7 +141,6 @@
out["billing_this_year"] = billing_this_year[0][0] if billing_this_year else 0
out["total_unpaid"] = total_unpaid[0][0] if total_unpaid else 0
- out["company_currency"] = frappe.db.sql_list("select distinct default_currency from tabCompany")
return out
diff --git a/erpnext/selling/doctype/customer/test_customer.py b/erpnext/selling/doctype/customer/test_customer.py
index dca4bb7..a0a1501 100644
--- a/erpnext/selling/doctype/customer/test_customer.py
+++ b/erpnext/selling/doctype/customer/test_customer.py
@@ -8,6 +8,8 @@
from frappe.test_runner import make_test_records
from erpnext.controllers.accounts_controller import CustomerFrozen
+from erpnext.accounts.party import InvalidCurrency
+from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_sales_invoice
test_ignore = ["Price List"]
@@ -77,4 +79,14 @@
frappe.db.set_value("Customer", "_Test Customer", "is_frozen", 0)
- so.save()
\ No newline at end of file
+ so.save()
+
+ def test_multi_currency(self):
+ customer = frappe.get_doc("Customer", "_Test Customer USD")
+
+ create_sales_invoice(customer="_Test Customer USD", debit_to="_Test Receivable USD - _TC",
+ currency="USD", conversion_rate=50)
+
+ customer.party_account_currency = "EUR"
+ self.assertRaises(InvalidCurrency, customer.save)
+
\ No newline at end of file
diff --git a/erpnext/selling/doctype/customer/test_records.json b/erpnext/selling/doctype/customer/test_records.json
index e076f7a..060633e 100644
--- a/erpnext/selling/doctype/customer/test_records.json
+++ b/erpnext/selling/doctype/customer/test_records.json
@@ -1,6 +1,5 @@
[
{
- "company": "_Test Company",
"customer_group": "_Test Customer Group",
"customer_name": "_Test Customer",
"customer_type": "Individual",
@@ -8,7 +7,6 @@
"territory": "_Test Territory"
},
{
- "company": "_Test Company",
"customer_group": "_Test Customer Group",
"customer_name": "_Test Customer 1",
"customer_type": "Individual",
@@ -16,7 +14,6 @@
"territory": "_Test Territory"
},
{
- "company": "_Test Company",
"customer_group": "_Test Customer Group",
"customer_name": "_Test Customer 2",
"customer_type": "Individual",
@@ -24,11 +21,22 @@
"territory": "_Test Territory"
},
{
- "company": "_Test Company",
"customer_group": "_Test Customer Group",
"customer_name": "_Test Customer 3",
"customer_type": "Individual",
"doctype": "Customer",
"territory": "_Test Territory"
+ },
+ {
+ "customer_group": "_Test Customer Group",
+ "customer_name": "_Test Customer USD",
+ "customer_type": "Individual",
+ "doctype": "Customer",
+ "territory": "_Test Territory",
+ "party_account_currency": "USD",
+ "accounts": [{
+ "company": "_Test Company",
+ "account": "_Test Receivable USD - _TC"
+ }]
}
]
diff --git a/erpnext/selling/doctype/industry_type/industry_type.json b/erpnext/selling/doctype/industry_type/industry_type.json
index 9f4ae00..4bfba38 100644
--- a/erpnext/selling/doctype/industry_type/industry_type.json
+++ b/erpnext/selling/doctype/industry_type/industry_type.json
@@ -7,7 +7,7 @@
"custom": 0,
"docstatus": 0,
"doctype": "DocType",
- "document_type": "Master",
+ "document_type": "Setup",
"fields": [
{
"allow_on_submit": 0,
@@ -42,7 +42,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
- "modified": "2015-09-07 15:51:26",
+ "modified": "2015-09-14 02:55:56.514136",
"modified_by": "Administrator",
"module": "Selling",
"name": "Industry Type",
diff --git a/erpnext/selling/doctype/product_bundle/product_bundle.js b/erpnext/selling/doctype/product_bundle/product_bundle.js
index 2849be5..7a04c6a 100644
--- a/erpnext/selling/doctype/product_bundle/product_bundle.js
+++ b/erpnext/selling/doctype/product_bundle/product_bundle.js
@@ -12,9 +12,8 @@
}
cur_frm.fields_dict.new_item_code.query_description = __('Please select Item where "Is Stock Item" is "No" and "Is Sales Item" is "Yes" and there is no other Product Bundle');
-cur_frm.cscript.item_code = function(doc, dt, dn) {
- var d = locals[dt][dn];
- if (d.item_code){
- return get_server_fields('get_item_details', d.item_code, 'items', doc ,dt, dn, 1);
- }
+cur_frm.cscript.onload = function() {
+ // set add fetch for item_code's item_name and description
+ cur_frm.add_fetch('item_code', 'stock_uom', 'uom');
+ cur_frm.add_fetch('item_code', 'description', 'description');
}
diff --git a/erpnext/selling/doctype/product_bundle/product_bundle.py b/erpnext/selling/doctype/product_bundle/product_bundle.py
index 2949c5c..363d334 100644
--- a/erpnext/selling/doctype/product_bundle/product_bundle.py
+++ b/erpnext/selling/doctype/product_bundle/product_bundle.py
@@ -22,14 +22,6 @@
if frappe.db.get_value("Item", self.new_item_code, "is_stock_item"):
frappe.throw(_("Parent Item {0} must not be a Stock Item").format(self.new_item_code))
- def get_item_details(self, name):
- det = frappe.db.sql("""select description, stock_uom from `tabItem`
- where name = %s""", name)
- return {
- 'description' : det and det[0][0] or '',
- 'uom': det and det[0][1] or ''
- }
-
def get_new_item_code(doctype, txt, searchfield, start, page_len, filters):
from erpnext.controllers.queries import get_match_cond
diff --git a/erpnext/selling/doctype/quotation/quotation.json b/erpnext/selling/doctype/quotation/quotation.json
index 97f32f2..3807e2d 100644
--- a/erpnext/selling/doctype/quotation/quotation.json
+++ b/erpnext/selling/doctype/quotation/quotation.json
@@ -64,7 +64,7 @@
"in_filter": 0,
"in_list_view": 0,
"label": "Title",
- "no_copy": 0,
+ "no_copy": 1,
"permlevel": 0,
"precision": "",
"print_hide": 0,
@@ -1843,7 +1843,7 @@
"issingle": 0,
"istable": 0,
"max_attachments": 1,
- "modified": "2015-08-27 03:27:57.267110",
+ "modified": "2015-09-11 12:20:18.521489",
"modified_by": "Administrator",
"module": "Selling",
"name": "Quotation",
diff --git a/erpnext/selling/doctype/sales_order/sales_order.json b/erpnext/selling/doctype/sales_order/sales_order.json
index 417250b..2e85e26 100644
--- a/erpnext/selling/doctype/sales_order/sales_order.json
+++ b/erpnext/selling/doctype/sales_order/sales_order.json
@@ -65,7 +65,7 @@
"in_filter": 0,
"in_list_view": 0,
"label": "Title",
- "no_copy": 0,
+ "no_copy": 1,
"permlevel": 0,
"precision": "",
"print_hide": 0,
@@ -2553,7 +2553,7 @@
"is_submittable": 1,
"issingle": 0,
"istable": 0,
- "modified": "2015-09-07 15:51:26",
+ "modified": "2015-09-11 12:19:42.436344",
"modified_by": "Administrator",
"module": "Selling",
"name": "Sales Order",
diff --git a/erpnext/selling/doctype/sales_order/sales_order.py b/erpnext/selling/doctype/sales_order/sales_order.py
index 8fcff10..3e68903 100644
--- a/erpnext/selling/doctype/sales_order/sales_order.py
+++ b/erpnext/selling/doctype/sales_order/sales_order.py
@@ -226,7 +226,7 @@
frappe.db.set(self, 'status', 'Stopped')
self.update_reserved_qty()
frappe.msgprint(_("{0} {1} status is Stopped").format(self.doctype, self.name))
- self.notify_modified()
+ self.notify_update()
clear_doctype_notifications(self)
def unstop_sales_order(self):
diff --git a/erpnext/selling/doctype/sales_team/sales_team.json b/erpnext/selling/doctype/sales_team/sales_team.json
index dfd0ff1..1747d2e 100644
--- a/erpnext/selling/doctype/sales_team/sales_team.json
+++ b/erpnext/selling/doctype/sales_team/sales_team.json
@@ -37,31 +37,6 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
- "fieldname": "sales_designation",
- "fieldtype": "Data",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 1,
- "label": "Designation",
- "no_copy": 0,
- "oldfieldname": "sales_designation",
- "oldfieldtype": "Data",
- "permlevel": 0,
- "print_hide": 0,
- "print_width": "100px",
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "unique": 0,
- "width": "100px"
- },
- {
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
"fieldname": "contact_no",
"fieldtype": "Data",
"hidden": 1,
@@ -210,7 +185,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 1,
- "modified": "2013-12-31 19:00:14",
+ "modified": "2015-08-13 16:30:24.146848",
"modified_by": "Administrator",
"module": "Selling",
"name": "Sales Team",
diff --git a/erpnext/selling/sales_common.js b/erpnext/selling/sales_common.js
index 5404947..6a8744a 100644
--- a/erpnext/selling/sales_common.js
+++ b/erpnext/selling/sales_common.js
@@ -206,30 +206,6 @@
}
},
- calculate_outstanding_amount: function(update_paid_amount) {
- // NOTE:
- // paid_amount and write_off_amount is only for POS Invoice
- // total_advance is only for non POS Invoice
- if(this.frm.doc.doctype == "Sales Invoice" && this.frm.doc.docstatus==0 && !this.frm.doc.is_return) {
- frappe.model.round_floats_in(this.frm.doc, ["base_grand_total", "total_advance", "write_off_amount",
- "paid_amount"]);
- var total_amount_to_pay = this.frm.doc.base_grand_total - this.frm.doc.write_off_amount
- - this.frm.doc.total_advance;
- if(this.frm.doc.is_pos) {
- if(!this.frm.doc.paid_amount || update_paid_amount===undefined || update_paid_amount) {
- this.frm.doc.paid_amount = flt(total_amount_to_pay);
- this.frm.refresh_field("paid_amount");
- }
- } else {
- this.frm.doc.paid_amount = 0
- this.frm.refresh_field("paid_amount");
- }
-
- this.frm.set_value("outstanding_amount", flt(total_amount_to_pay
- - this.frm.doc.paid_amount, precision("outstanding_amount")));
- }
- },
-
calculate_commission: function() {
if(this.frm.fields_dict.commission_rate) {
if(this.frm.doc.commission_rate > 100) {
diff --git a/erpnext/setup/doctype/authorization_rule/authorization_rule.json b/erpnext/setup/doctype/authorization_rule/authorization_rule.json
index 81b9586..a773fdf 100644
--- a/erpnext/setup/doctype/authorization_rule/authorization_rule.json
+++ b/erpnext/setup/doctype/authorization_rule/authorization_rule.json
@@ -7,7 +7,7 @@
"custom": 0,
"docstatus": 0,
"doctype": "DocType",
- "document_type": "Master",
+ "document_type": "Setup",
"fields": [
{
"allow_on_submit": 0,
@@ -284,7 +284,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
- "modified": "2015-02-05 05:11:34.624998",
+ "modified": "2015-09-14 02:55:53.995871",
"modified_by": "Administrator",
"module": "Setup",
"name": "Authorization Rule",
diff --git a/erpnext/setup/doctype/authorization_rule/test_authorization_rule.py b/erpnext/setup/doctype/authorization_rule/test_authorization_rule.py
new file mode 100644
index 0000000..332f103
--- /dev/null
+++ b/erpnext/setup/doctype/authorization_rule/test_authorization_rule.py
@@ -0,0 +1,12 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
+# See license.txt
+from __future__ import unicode_literals
+
+import frappe
+import unittest
+
+# test_records = frappe.get_test_records('Authorization Rule')
+
+class TestAuthorizationRule(unittest.TestCase):
+ pass
diff --git a/erpnext/setup/doctype/backup_manager/backup_manager.py b/erpnext/setup/doctype/backup_manager/backup_manager.py
index 4b16330..4ad64f6 100644
--- a/erpnext/setup/doctype/backup_manager/backup_manager.py
+++ b/erpnext/setup/doctype/backup_manager/backup_manager.py
@@ -4,7 +4,7 @@
# For license information, please see license.txt
from __future__ import unicode_literals
-from frappe.utils import get_site_path, cint
+from frappe.utils import get_site_path, cint, split_emails
from frappe.utils.data import convert_utc_to_user_timezone
import os
import datetime
@@ -98,5 +98,5 @@
if not frappe.db:
frappe.connect()
- recipients = frappe.db.get_value("Backup Manager", None, "send_notifications_to").split(",")
+ recipients = split_emails(frappe.db.get_value("Backup Manager", None, "send_notifications_to"))
frappe.sendmail(recipients=recipients, subject=subject, message=message)
diff --git a/erpnext/setup/doctype/brand/brand.json b/erpnext/setup/doctype/brand/brand.json
index 1dede42..f04568c 100644
--- a/erpnext/setup/doctype/brand/brand.json
+++ b/erpnext/setup/doctype/brand/brand.json
@@ -7,7 +7,7 @@
"custom": 0,
"docstatus": 0,
"doctype": "DocType",
- "document_type": "Master",
+ "document_type": "Setup",
"fields": [
{
"allow_on_submit": 0,
@@ -66,7 +66,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
- "modified": "2015-09-07 15:51:26",
+ "modified": "2015-09-14 02:55:54.490246",
"modified_by": "Administrator",
"module": "Setup",
"name": "Brand",
diff --git a/erpnext/setup/doctype/company/company.json b/erpnext/setup/doctype/company/company.json
index ee279c9..12faa18 100644
--- a/erpnext/setup/doctype/company/company.json
+++ b/erpnext/setup/doctype/company/company.json
@@ -8,7 +8,7 @@
"description": "Legal Entity / Subsidiary with a separate Chart of Accounts belonging to the Organization.",
"docstatus": 0,
"doctype": "DocType",
- "document_type": "Master",
+ "document_type": "Setup",
"fields": [
{
"allow_on_submit": 0,
@@ -1092,7 +1092,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
- "modified": "2015-09-07 15:51:26",
+ "modified": "2015-09-14 02:55:54.678003",
"modified_by": "Administrator",
"module": "Setup",
"name": "Company",
diff --git a/erpnext/setup/doctype/company/company.py b/erpnext/setup/doctype/company/company.py
index cf47de5..785e7aa 100644
--- a/erpnext/setup/doctype/company/company.py
+++ b/erpnext/setup/doctype/company/company.py
@@ -34,13 +34,8 @@
if not self.abbr.strip():
frappe.throw(_("Abbreviation is mandatory"))
- self.previous_default_currency = frappe.db.get_value("Company", self.name, "default_currency")
- if self.default_currency and self.previous_default_currency and \
- self.default_currency != self.previous_default_currency and \
- self.check_if_transactions_exist():
- frappe.throw(_("Cannot change company's default currency, because there are existing transactions. Transactions must be cancelled to change the default currency."))
-
self.validate_default_accounts()
+ self.validate_currency()
def validate_default_accounts(self):
for field in ["default_bank_account", "default_cash_account", "default_receivable_account", "default_payable_account",
@@ -51,6 +46,13 @@
if for_company != self.name:
frappe.throw(_("Account {0} does not belong to company: {1}")
.format(self.get(field), self.name))
+
+ def validate_currency(self):
+ self.previous_default_currency = frappe.db.get_value("Company", self.name, "default_currency")
+ if self.default_currency and self.previous_default_currency and \
+ self.default_currency != self.previous_default_currency and \
+ self.check_if_transactions_exist():
+ frappe.throw(_("Cannot change company's default currency, because there are existing transactions. Transactions must be cancelled to change the default currency."))
def on_update(self):
if not frappe.db.sql("""select name from tabAccount
@@ -205,12 +207,14 @@
frappe.defaults.clear_default("company", value=self.name)
# clear default accounts, warehouses from item
- for f in ["default_warehouse", "website_warehouse"]:
- frappe.db.sql("""update tabItem set %s=NULL where %s in (%s)"""
- % (f, f, ', '.join(['%s']*len(warehouses))), tuple(warehouses))
+ if warehouses:
+
+ for f in ["default_warehouse", "website_warehouse"]:
+ frappe.db.sql("""update tabItem set %s=NULL where %s in (%s)"""
+ % (f, f, ', '.join(['%s']*len(warehouses))), tuple(warehouses))
- frappe.db.sql("""delete from `tabItem Reorder` where warehouse in (%s)"""
- % ', '.join(['%s']*len(warehouses)), tuple(warehouses))
+ frappe.db.sql("""delete from `tabItem Reorder` where warehouse in (%s)"""
+ % ', '.join(['%s']*len(warehouses)), tuple(warehouses))
for f in ["income_account", "expense_account"]:
frappe.db.sql("""update tabItem set %s=NULL where %s in (%s)"""
diff --git a/erpnext/setup/doctype/company/test_records.json b/erpnext/setup/doctype/company/test_records.json
index 13cb03e..b6918b3 100644
--- a/erpnext/setup/doctype/company/test_records.json
+++ b/erpnext/setup/doctype/company/test_records.json
@@ -19,7 +19,7 @@
},
{
"abbr": "_TC2",
- "company_name": "_Test Company 3",
+ "company_name": "_Test Company 2",
"default_currency": "EUR",
"country": "Germany",
"doctype": "Company",
diff --git a/erpnext/setup/doctype/currency_exchange/currency_exchange.json b/erpnext/setup/doctype/currency_exchange/currency_exchange.json
index 998f0ed..d53b262 100644
--- a/erpnext/setup/doctype/currency_exchange/currency_exchange.json
+++ b/erpnext/setup/doctype/currency_exchange/currency_exchange.json
@@ -7,7 +7,7 @@
"description": "Specify Exchange Rate to convert one currency into another",
"docstatus": 0,
"doctype": "DocType",
- "document_type": "Master",
+ "document_type": "Setup",
"fields": [
{
"allow_on_submit": 0,
@@ -85,7 +85,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
- "modified": "2015-09-07 15:51:26",
+ "modified": "2015-09-14 02:55:55.160748",
"modified_by": "Administrator",
"module": "Setup",
"name": "Currency Exchange",
diff --git a/erpnext/setup/doctype/customer_group/customer_group.json b/erpnext/setup/doctype/customer_group/customer_group.json
index c322f70..8367364 100644
--- a/erpnext/setup/doctype/customer_group/customer_group.json
+++ b/erpnext/setup/doctype/customer_group/customer_group.json
@@ -7,7 +7,7 @@
"custom": 0,
"docstatus": 0,
"doctype": "DocType",
- "document_type": "Master",
+ "document_type": "Setup",
"fields": [
{
"allow_on_submit": 0,
@@ -316,7 +316,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
- "modified": "2015-09-07 15:51:26",
+ "modified": "2015-09-14 02:55:55.257703",
"modified_by": "Administrator",
"module": "Setup",
"name": "Customer Group",
diff --git a/erpnext/setup/doctype/item_group/item_group.json b/erpnext/setup/doctype/item_group/item_group.json
index 00c51fc..fb46de1 100644
--- a/erpnext/setup/doctype/item_group/item_group.json
+++ b/erpnext/setup/doctype/item_group/item_group.json
@@ -8,7 +8,7 @@
"description": "Item Classification",
"docstatus": 0,
"doctype": "DocType",
- "document_type": "Master",
+ "document_type": "Setup",
"fields": [
{
"allow_on_submit": 0,
@@ -430,7 +430,7 @@
"issingle": 0,
"istable": 0,
"max_attachments": 3,
- "modified": "2015-09-07 15:51:26",
+ "modified": "2015-09-14 02:55:56.761965",
"modified_by": "Administrator",
"module": "Setup",
"name": "Item Group",
diff --git a/erpnext/setup/doctype/print_heading/print_heading.json b/erpnext/setup/doctype/print_heading/print_heading.json
index ccc3aae..878b2bb 100644
--- a/erpnext/setup/doctype/print_heading/print_heading.json
+++ b/erpnext/setup/doctype/print_heading/print_heading.json
@@ -7,7 +7,7 @@
"custom": 0,
"docstatus": 0,
"doctype": "DocType",
- "document_type": "Master",
+ "document_type": "Setup",
"fields": [
{
"allow_on_submit": 1,
@@ -66,7 +66,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
- "modified": "2015-09-07 15:51:26",
+ "modified": "2015-09-14 02:55:59.055950",
"modified_by": "Administrator",
"module": "Setup",
"name": "Print Heading",
diff --git a/erpnext/setup/doctype/quotation_lost_reason/quotation_lost_reason.json b/erpnext/setup/doctype/quotation_lost_reason/quotation_lost_reason.json
index 65b3a14..4e0d042 100644
--- a/erpnext/setup/doctype/quotation_lost_reason/quotation_lost_reason.json
+++ b/erpnext/setup/doctype/quotation_lost_reason/quotation_lost_reason.json
@@ -7,7 +7,7 @@
"custom": 0,
"docstatus": 0,
"doctype": "DocType",
- "document_type": "Master",
+ "document_type": "Setup",
"fields": [
{
"allow_on_submit": 0,
@@ -42,7 +42,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
- "modified": "2015-02-05 05:11:44.681689",
+ "modified": "2015-09-14 02:55:59.573765",
"modified_by": "Administrator",
"module": "Setup",
"name": "Quotation Lost Reason",
diff --git a/erpnext/setup/doctype/sales_partner/sales_partner.json b/erpnext/setup/doctype/sales_partner/sales_partner.json
index ff4280a..d4af1f0 100644
--- a/erpnext/setup/doctype/sales_partner/sales_partner.json
+++ b/erpnext/setup/doctype/sales_partner/sales_partner.json
@@ -8,7 +8,7 @@
"description": "A third party distributor / dealer / commission agent / affiliate / reseller who sells the companies products for a commission.",
"docstatus": 0,
"doctype": "DocType",
- "document_type": "Master",
+ "document_type": "Setup",
"fields": [
{
"allow_on_submit": 0,
@@ -568,7 +568,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
- "modified": "2015-09-07 15:51:26",
+ "modified": "2015-09-14 02:55:59.678007",
"modified_by": "Administrator",
"module": "Setup",
"name": "Sales Partner",
diff --git a/erpnext/setup/doctype/sales_person/sales_person.json b/erpnext/setup/doctype/sales_person/sales_person.json
index 9cf90b0..3d31fb1 100644
--- a/erpnext/setup/doctype/sales_person/sales_person.json
+++ b/erpnext/setup/doctype/sales_person/sales_person.json
@@ -8,7 +8,7 @@
"description": "All Sales Transactions can be tagged against multiple **Sales Persons** so that you can set and monitor targets.",
"docstatus": 0,
"doctype": "DocType",
- "document_type": "Master",
+ "document_type": "Setup",
"fields": [
{
"allow_on_submit": 0,
@@ -320,7 +320,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
- "modified": "2015-09-07 15:51:26",
+ "modified": "2015-09-14 02:55:59.945421",
"modified_by": "Administrator",
"module": "Setup",
"name": "Sales Person",
diff --git a/erpnext/setup/doctype/supplier_type/supplier_type.json b/erpnext/setup/doctype/supplier_type/supplier_type.json
index 86f6f11..32ddfd2 100644
--- a/erpnext/setup/doctype/supplier_type/supplier_type.json
+++ b/erpnext/setup/doctype/supplier_type/supplier_type.json
@@ -7,7 +7,7 @@
"custom": 0,
"docstatus": 0,
"doctype": "DocType",
- "document_type": "Master",
+ "document_type": "Setup",
"fields": [
{
"allow_on_submit": 0,
@@ -108,7 +108,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
- "modified": "2015-09-07 15:51:26",
+ "modified": "2015-09-14 02:56:00.119145",
"modified_by": "Administrator",
"module": "Setup",
"name": "Supplier Type",
diff --git a/erpnext/setup/doctype/terms_and_conditions/terms_and_conditions.json b/erpnext/setup/doctype/terms_and_conditions/terms_and_conditions.json
index cc11b80..a8e59c9 100644
--- a/erpnext/setup/doctype/terms_and_conditions/terms_and_conditions.json
+++ b/erpnext/setup/doctype/terms_and_conditions/terms_and_conditions.json
@@ -8,7 +8,7 @@
"description": "Standard Terms and Conditions that can be added to Sales and Purchases.\n\nExamples:\n\n1. Validity of the offer.\n1. Payment Terms (In Advance, On Credit, part advance etc).\n1. What is extra (or payable by the Customer).\n1. Safety / usage warning.\n1. Warranty if any.\n1. Returns Policy.\n1. Terms of shipping, if applicable.\n1. Ways of addressing disputes, indemnity, liability, etc.\n1. Address and Contact of your Company.",
"docstatus": 0,
"doctype": "DocType",
- "document_type": "Master",
+ "document_type": "Setup",
"fields": [
{
"allow_on_submit": 0,
@@ -21,7 +21,7 @@
"in_filter": 1,
"in_list_view": 0,
"label": "Title",
- "no_copy": 0,
+ "no_copy": 1,
"oldfieldname": "title",
"oldfieldtype": "Data",
"permlevel": 0,
@@ -66,7 +66,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
- "modified": "2015-09-07 15:51:26",
+ "modified": "2015-09-11 12:19:53.267342",
"modified_by": "Administrator",
"module": "Setup",
"name": "Terms and Conditions",
diff --git a/erpnext/setup/doctype/territory/territory.json b/erpnext/setup/doctype/territory/territory.json
index 8a06570..510d5a1 100644
--- a/erpnext/setup/doctype/territory/territory.json
+++ b/erpnext/setup/doctype/territory/territory.json
@@ -8,7 +8,7 @@
"description": "Classification of Customers by region",
"docstatus": 0,
"doctype": "DocType",
- "document_type": "Master",
+ "document_type": "Setup",
"fields": [
{
"allow_on_submit": 0,
@@ -281,7 +281,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
- "modified": "2015-09-07 15:51:26",
+ "modified": "2015-09-14 02:56:00.588311",
"modified_by": "Administrator",
"module": "Setup",
"name": "Territory",
diff --git a/erpnext/setup/doctype/uom/uom.json b/erpnext/setup/doctype/uom/uom.json
index a5bb5a5..605368d 100644
--- a/erpnext/setup/doctype/uom/uom.json
+++ b/erpnext/setup/doctype/uom/uom.json
@@ -7,7 +7,7 @@
"custom": 0,
"docstatus": 0,
"doctype": "DocType",
- "document_type": "Master",
+ "document_type": "Setup",
"fields": [
{
"allow_on_submit": 0,
@@ -64,7 +64,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
- "modified": "2015-09-07 15:51:26",
+ "modified": "2015-09-14 02:56:00.850775",
"modified_by": "Administrator",
"module": "Setup",
"name": "UOM",
diff --git a/erpnext/setup/page/setup_wizard/install_fixtures.py b/erpnext/setup/page/setup_wizard/install_fixtures.py
index 02fa27f..ba48a29 100644
--- a/erpnext/setup/page/setup_wizard/install_fixtures.py
+++ b/erpnext/setup/page/setup_wizard/install_fixtures.py
@@ -190,4 +190,14 @@
parent_link_field = ("parent_" + scrub(doc.doctype))
if doc.meta.get_field(parent_link_field) and not doc.get(parent_link_field):
doc.flags.ignore_mandatory = True
- doc.insert(ignore_permissions=True)
+
+ try:
+ doc.insert(ignore_permissions=True)
+ except frappe.DuplicateEntryError, e:
+ # pass DuplicateEntryError and continue
+ if e.args and e.args[0]==doc.doctype and e.args[1]==doc.name:
+ # make sure DuplicateEntryError is for the exact same doc and not a related doc
+ pass
+ else:
+ raise
+
diff --git a/erpnext/setup/page/setup_wizard/setup_wizard.py b/erpnext/setup/page/setup_wizard/setup_wizard.py
index e578f87..77ad90a 100644
--- a/erpnext/setup/page/setup_wizard/setup_wizard.py
+++ b/erpnext/setup/page/setup_wizard/setup_wizard.py
@@ -15,6 +15,7 @@
import install_fixtures
from .sample_data import make_sample_data
from erpnext.accounts.utils import FiscalYearError
+from erpnext.accounts.doctype.account.account import RootNotEditable
@frappe.whitelist()
def setup_account(args=None):
@@ -303,6 +304,7 @@
return fy
def create_taxes(args):
+
for i in xrange(1,6):
if args.get("tax_" + str(i)):
# replace % in case someone also enters the % symbol
@@ -320,6 +322,9 @@
pass
else:
raise
+ except RootNotEditable, e:
+ pass
+
def make_tax_head(args, i, tax_group, tax_rate):
return frappe.get_doc({
"doctype":"Account",
diff --git a/erpnext/stock/doctype/batch/batch.json b/erpnext/stock/doctype/batch/batch.json
index e7ee31b..781f864 100644
--- a/erpnext/stock/doctype/batch/batch.json
+++ b/erpnext/stock/doctype/batch/batch.json
@@ -7,7 +7,7 @@
"custom": 0,
"docstatus": 0,
"doctype": "DocType",
- "document_type": "Master",
+ "document_type": "Setup",
"fields": [
{
"allow_on_submit": 0,
@@ -156,7 +156,7 @@
"issingle": 0,
"istable": 0,
"max_attachments": 5,
- "modified": "2015-07-13 05:28:24.973774",
+ "modified": "2015-09-14 02:55:54.101825",
"modified_by": "Administrator",
"module": "Stock",
"name": "Batch",
diff --git a/erpnext/stock/doctype/delivery_note/delivery_note.js b/erpnext/stock/doctype/delivery_note/delivery_note.js
index e7ede65..17194fd 100644
--- a/erpnext/stock/doctype/delivery_note/delivery_note.js
+++ b/erpnext/stock/doctype/delivery_note/delivery_note.js
@@ -10,17 +10,6 @@
this._super();
if (!doc.is_return) {
- if(doc.__onload && !doc.__onload.billing_complete && doc.docstatus==1) {
- // show Make Invoice button only if Delivery Note is not created from Sales Invoice
- var from_sales_invoice = false;
- from_sales_invoice = cur_frm.doc.items.some(function(item) {
- return item.against_sales_invoice ? true : false;
- });
-
- if(!from_sales_invoice)
- cur_frm.add_custom_button(__('Invoice'), this.make_sales_invoice).addClass("btn-primary");
- }
-
if(flt(doc.per_installed, 2) < 100 && doc.docstatus==1)
cur_frm.add_custom_button(__('Installation Note'), this.make_installation_note);
@@ -59,7 +48,16 @@
}
}
+ if(doc.__onload && !doc.__onload.billing_complete && doc.docstatus==1 && !doc.is_return) {
+ // show Make Invoice button only if Delivery Note is not created from Sales Invoice
+ var from_sales_invoice = false;
+ from_sales_invoice = cur_frm.doc.items.some(function(item) {
+ return item.against_sales_invoice ? true : false;
+ });
+ if(!from_sales_invoice)
+ cur_frm.add_custom_button(__('Invoice'), this.make_sales_invoice).addClass("btn-primary");
+ }
erpnext.stock.delivery_note.set_print_hide(doc, dt, dn);
diff --git a/erpnext/stock/doctype/delivery_note/delivery_note.json b/erpnext/stock/doctype/delivery_note/delivery_note.json
index 3366a58..f65e74a 100644
--- a/erpnext/stock/doctype/delivery_note/delivery_note.json
+++ b/erpnext/stock/doctype/delivery_note/delivery_note.json
@@ -66,7 +66,7 @@
"in_filter": 0,
"in_list_view": 0,
"label": "Title",
- "no_copy": 0,
+ "no_copy": 1,
"permlevel": 0,
"precision": "",
"print_hide": 0,
@@ -2438,7 +2438,7 @@
"is_submittable": 1,
"issingle": 0,
"istable": 0,
- "modified": "2015-09-07 15:51:26",
+ "modified": "2015-09-11 12:20:00.264753",
"modified_by": "Administrator",
"module": "Stock",
"name": "Delivery Note",
diff --git a/erpnext/stock/doctype/item/item.py b/erpnext/stock/doctype/item/item.py
index d8d21ff..6eadb83 100644
--- a/erpnext/stock/doctype/item/item.py
+++ b/erpnext/stock/doctype/item/item.py
@@ -341,10 +341,10 @@
frappe.throw(_("Please specify Attribute Value for attribute {0}").format(d.attribute))
args[d.attribute] = d.attribute_value
- if self.get("__islocal"):
+ 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:
+ if variant and self.get("__islocal"):
frappe.throw(_("Item variant {0} exists with same attributes").format(variant), ItemVariantExistsError)
def validate_end_of_life(item_code, end_of_life=None, verbose=1):
diff --git a/erpnext/stock/doctype/item_attribute/item_attribute.json b/erpnext/stock/doctype/item_attribute/item_attribute.json
index f89a056..1388533 100644
--- a/erpnext/stock/doctype/item_attribute/item_attribute.json
+++ b/erpnext/stock/doctype/item_attribute/item_attribute.json
@@ -7,7 +7,7 @@
"custom": 0,
"docstatus": 0,
"doctype": "DocType",
- "document_type": "Master",
+ "document_type": "Setup",
"fields": [
{
"allow_on_submit": 0,
@@ -221,7 +221,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
- "modified": "2015-08-11 08:43:10.240847",
+ "modified": "2015-09-14 02:55:56.599209",
"modified_by": "Administrator",
"module": "Stock",
"name": "Item Attribute",
diff --git a/erpnext/stock/doctype/item_attribute_value/item_attribute_value.json b/erpnext/stock/doctype/item_attribute_value/item_attribute_value.json
index be0bb81..c8a6ebb 100644
--- a/erpnext/stock/doctype/item_attribute_value/item_attribute_value.json
+++ b/erpnext/stock/doctype/item_attribute_value/item_attribute_value.json
@@ -7,7 +7,7 @@
"custom": 0,
"docstatus": 0,
"doctype": "DocType",
- "document_type": "Master",
+ "document_type": "Setup",
"fields": [
{
"allow_on_submit": 0,
@@ -63,7 +63,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 1,
- "modified": "2014-09-26 06:17:47.136386",
+ "modified": "2015-09-14 02:55:56.693720",
"modified_by": "Administrator",
"module": "Stock",
"name": "Item Attribute Value",
diff --git a/erpnext/stock/doctype/item_price/item_price.json b/erpnext/stock/doctype/item_price/item_price.json
index a6baa10..a46ca66 100644
--- a/erpnext/stock/doctype/item_price/item_price.json
+++ b/erpnext/stock/doctype/item_price/item_price.json
@@ -8,7 +8,7 @@
"description": "Multiple Item prices.",
"docstatus": 0,
"doctype": "DocType",
- "document_type": "Master",
+ "document_type": "Setup",
"fields": [
{
"allow_on_submit": 0,
@@ -303,7 +303,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
- "modified": "2015-07-29 14:53:58.851413",
+ "modified": "2015-09-14 02:55:56.958679",
"modified_by": "Administrator",
"module": "Stock",
"name": "Item Price",
diff --git a/erpnext/stock/doctype/landed_cost_voucher/landed_cost_voucher.json b/erpnext/stock/doctype/landed_cost_voucher/landed_cost_voucher.json
index b681843..5fadff9 100644
--- a/erpnext/stock/doctype/landed_cost_voucher/landed_cost_voucher.json
+++ b/erpnext/stock/doctype/landed_cost_voucher/landed_cost_voucher.json
@@ -7,7 +7,7 @@
"custom": 0,
"docstatus": 0,
"doctype": "DocType",
- "document_type": "Transaction",
+ "document_type": "Document",
"fields": [
{
"allow_on_submit": 0,
@@ -281,7 +281,7 @@
"is_submittable": 1,
"issingle": 0,
"istable": 0,
- "modified": "2015-07-13 05:28:22.039577",
+ "modified": "2015-09-14 02:55:57.283842",
"modified_by": "Administrator",
"module": "Stock",
"name": "Landed Cost Voucher",
diff --git a/erpnext/stock/doctype/material_request/material_request.json b/erpnext/stock/doctype/material_request/material_request.json
index 0d36e9c..855b50b 100644
--- a/erpnext/stock/doctype/material_request/material_request.json
+++ b/erpnext/stock/doctype/material_request/material_request.json
@@ -42,7 +42,7 @@
"in_filter": 0,
"in_list_view": 0,
"label": "Title",
- "no_copy": 0,
+ "no_copy": 1,
"permlevel": 0,
"precision": "",
"print_hide": 0,
@@ -510,7 +510,7 @@
"is_submittable": 1,
"issingle": 0,
"istable": 0,
- "modified": "2015-09-07 15:51:26",
+ "modified": "2015-09-11 12:19:49.832338",
"modified_by": "Administrator",
"module": "Stock",
"name": "Material Request",
diff --git a/erpnext/stock/doctype/packing_slip/packing_slip.json b/erpnext/stock/doctype/packing_slip/packing_slip.json
index d2bf35f..6e94021 100644
--- a/erpnext/stock/doctype/packing_slip/packing_slip.json
+++ b/erpnext/stock/doctype/packing_slip/packing_slip.json
@@ -8,7 +8,7 @@
"description": "Generate packing slips for packages to be delivered. Used to notify package number, package contents and its weight.",
"docstatus": 0,
"doctype": "DocType",
- "document_type": "Transaction",
+ "document_type": "Document",
"fields": [
{
"allow_on_submit": 0,
@@ -513,7 +513,7 @@
"is_submittable": 1,
"issingle": 0,
"istable": 0,
- "modified": "2015-09-07 15:51:26",
+ "modified": "2015-09-14 02:55:58.713102",
"modified_by": "Administrator",
"module": "Stock",
"name": "Packing Slip",
diff --git a/erpnext/stock/doctype/packing_slip/test_packing_slip.py b/erpnext/stock/doctype/packing_slip/test_packing_slip.py
new file mode 100644
index 0000000..1f2af02
--- /dev/null
+++ b/erpnext/stock/doctype/packing_slip/test_packing_slip.py
@@ -0,0 +1,12 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
+# See license.txt
+from __future__ import unicode_literals
+
+import frappe
+import unittest
+
+# test_records = frappe.get_test_records('Packing Slip')
+
+class TestPackingSlip(unittest.TestCase):
+ pass
diff --git a/erpnext/stock/doctype/price_list/price_list.json b/erpnext/stock/doctype/price_list/price_list.json
index 4e2f9fa..fcd204c 100644
--- a/erpnext/stock/doctype/price_list/price_list.json
+++ b/erpnext/stock/doctype/price_list/price_list.json
@@ -8,7 +8,7 @@
"description": "Price List Master",
"docstatus": 0,
"doctype": "DocType",
- "document_type": "Master",
+ "document_type": "Setup",
"fields": [
{
"allow_on_submit": 0,
@@ -193,7 +193,7 @@
"issingle": 0,
"istable": 0,
"max_attachments": 1,
- "modified": "2015-09-07 15:51:26",
+ "modified": "2015-09-14 02:55:58.919822",
"modified_by": "Administrator",
"module": "Stock",
"name": "Price List",
diff --git a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.json b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.json
index b9c5ba7..fc874bc 100755
--- a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.json
+++ b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.json
@@ -66,7 +66,7 @@
"in_filter": 0,
"in_list_view": 0,
"label": "Title",
- "no_copy": 0,
+ "no_copy": 1,
"permlevel": 0,
"precision": "",
"print_hide": 1,
@@ -2076,7 +2076,7 @@
"is_submittable": 1,
"issingle": 0,
"istable": 0,
- "modified": "2015-09-07 15:51:26",
+ "modified": "2015-09-11 12:20:13.894374",
"modified_by": "Administrator",
"module": "Stock",
"name": "Purchase Receipt",
diff --git a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py
index 1ab866c..85610a4 100644
--- a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py
+++ b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py
@@ -307,23 +307,28 @@
val_rate_db_precision = 6 if cint(d.precision("valuation_rate")) <= 6 else 9
# warehouse account
+ stock_value_diff = flt(flt(d.valuation_rate, val_rate_db_precision) * flt(d.qty)
+ * flt(d.conversion_factor), d.precision("base_net_amount"))
+
gl_entries.append(self.get_gl_dict({
- "account": warehouse_account[d.warehouse],
+ "account": warehouse_account[d.warehouse]["name"],
"against": stock_rbnb,
"cost_center": d.cost_center,
"remarks": self.get("remarks") or _("Accounting Entry for Stock"),
- "debit": flt(flt(d.valuation_rate, val_rate_db_precision) * flt(d.qty) * flt(d.conversion_factor),
- self.precision("base_net_amount", d))
- }))
+ "debit": stock_value_diff
+ }, warehouse_account[d.warehouse]["account_currency"]))
# stock received but not billed
+ stock_rbnb_currency = frappe.db.get_value("Account", stock_rbnb, "account_currency")
gl_entries.append(self.get_gl_dict({
"account": stock_rbnb,
- "against": warehouse_account[d.warehouse],
+ "against": warehouse_account[d.warehouse]["name"],
"cost_center": d.cost_center,
"remarks": self.get("remarks") or _("Accounting Entry for Stock"),
- "credit": flt(d.base_net_amount, self.precision("base_net_amount", d))
- }))
+ "credit": flt(d.base_net_amount, d.precision("base_net_amount")),
+ "credit_in_account_currency": flt(d.base_net_amount, d.precision("base_net_amount")) \
+ if stock_rbnb_currency==self.company_currency else flt(d.net_amount, d.precision("net_amount"))
+ }, stock_rbnb_currency))
negative_expense_to_be_booked += flt(d.item_tax_amount)
@@ -331,7 +336,7 @@
if flt(d.landed_cost_voucher_amount):
gl_entries.append(self.get_gl_dict({
"account": expenses_included_in_valuation,
- "against": warehouse_account[d.warehouse],
+ "against": warehouse_account[d.warehouse]["name"],
"cost_center": d.cost_center,
"remarks": self.get("remarks") or _("Accounting Entry for Stock"),
"credit": flt(d.landed_cost_voucher_amount)
@@ -340,12 +345,12 @@
# sub-contracting warehouse
if flt(d.rm_supp_cost) and warehouse_account.get(self.supplier_warehouse):
gl_entries.append(self.get_gl_dict({
- "account": warehouse_account[self.supplier_warehouse],
- "against": warehouse_account[d.warehouse],
+ "account": warehouse_account[self.supplier_warehouse]["name"],
+ "against": warehouse_account[d.warehouse]["name"],
"cost_center": d.cost_center,
"remarks": self.get("remarks") or _("Accounting Entry for Stock"),
"credit": flt(d.rm_supp_cost)
- }))
+ }, warehouse_account[self.supplier_warehouse]["account_currency"]))
# divisional loss adjustment
sle_valuation_amount = flt(flt(d.valuation_rate, val_rate_db_precision) * flt(d.qty) * flt(d.conversion_factor),
@@ -358,11 +363,11 @@
if divisional_loss:
gl_entries.append(self.get_gl_dict({
"account": stock_rbnb,
- "against": warehouse_account[d.warehouse],
+ "against": warehouse_account[d.warehouse]["name"],
"cost_center": d.cost_center,
"remarks": self.get("remarks") or _("Accounting Entry for Stock"),
"debit": divisional_loss
- }))
+ }, stock_rbnb_currency))
elif d.warehouse not in warehouse_with_no_account or \
d.rejected_warehouse not in warehouse_with_no_account:
diff --git a/erpnext/stock/doctype/stock_entry/stock_entry.json b/erpnext/stock/doctype/stock_entry/stock_entry.json
index 1fe3cb4..f55c12c 100644
--- a/erpnext/stock/doctype/stock_entry/stock_entry.json
+++ b/erpnext/stock/doctype/stock_entry/stock_entry.json
@@ -42,7 +42,7 @@
"in_filter": 0,
"in_list_view": 0,
"label": "Title",
- "no_copy": 0,
+ "no_copy": 1,
"permlevel": 0,
"precision": "",
"print_hide": 0,
@@ -1291,7 +1291,7 @@
"issingle": 0,
"istable": 0,
"max_attachments": 0,
- "modified": "2015-09-07 15:51:26",
+ "modified": "2015-09-11 12:20:21.220215",
"modified_by": "Administrator",
"module": "Stock",
"name": "Stock Entry",
diff --git a/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py b/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py
index e178f28..a275de5 100644
--- a/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py
+++ b/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py
@@ -171,7 +171,7 @@
if row.qty and not row.valuation_rate:
frappe.throw(_("Valuation Rate required for Item {0}").format(row.item_code))
- if ((previous_sle and row.qty == previous_sle.get("qty_after_transaction")
+ if ((previous_sle and row.qty == previous_sle.get("qty_after_transaction")
and row.valuation_rate == previous_sle.get("valuation_rate"))
or (not previous_sle and not row.qty)):
continue
@@ -243,7 +243,7 @@
@frappe.whitelist()
def get_items(warehouse, posting_date, posting_time):
items = frappe.get_list("Item", fields=["name"], filters=
- {"is_stock_item": 1, "has_serial_no": 0, "has_batch_no": 0})
+ {"is_stock_item": 1, "has_serial_no": 0, "has_batch_no": 0, "has_variants": 0})
for item in items:
item.item_code = item.name
item.warehouse = warehouse
diff --git a/erpnext/stock/doctype/warehouse/warehouse.json b/erpnext/stock/doctype/warehouse/warehouse.json
index 461eee3..15744cf 100644
--- a/erpnext/stock/doctype/warehouse/warehouse.json
+++ b/erpnext/stock/doctype/warehouse/warehouse.json
@@ -7,7 +7,7 @@
"description": "A logical Warehouse against which stock entries are made.",
"docstatus": 0,
"doctype": "DocType",
- "document_type": "Master",
+ "document_type": "Setup",
"fields": [
{
"allow_on_submit": 0,
@@ -362,7 +362,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
- "modified": "2015-09-07 15:51:26",
+ "modified": "2015-09-14 02:56:00.946305",
"modified_by": "Administrator",
"module": "Stock",
"name": "Warehouse",
diff --git a/erpnext/support/doctype/maintenance_schedule/maintenance_schedule.js b/erpnext/support/doctype/maintenance_schedule/maintenance_schedule.js
index d84dc17..023ef6c 100644
--- a/erpnext/support/doctype/maintenance_schedule/maintenance_schedule.js
+++ b/erpnext/support/doctype/maintenance_schedule/maintenance_schedule.js
@@ -80,11 +80,16 @@
$.extend(cur_frm.cscript, new erpnext.support.MaintenanceSchedule({frm: cur_frm}));
cur_frm.cscript.onload = function(doc, dt, dn) {
- if(!doc.status) set_multiple(dt,dn,{status:'Draft'});
+ if(!doc.status) set_multiple(dt,dn,{status:'Draft'});
- if(doc.__islocal){
- set_multiple(dt,dn,{transaction_date:get_today()});
- }
+ if(doc.__islocal){
+ set_multiple(dt,dn,{transaction_date:get_today()});
+ }
+
+ // set add fetch for item_code's item_name and description
+ cur_frm.add_fetch('item_code', 'item_name', 'item_name');
+ cur_frm.add_fetch('item_code', 'description', 'description');
+
}
cur_frm.fields_dict['customer_address'].get_query = function(doc, cdt, cdn) {
@@ -106,14 +111,6 @@
}
}
-cur_frm.cscript.item_code = function(doc, cdt, cdn) {
- var d = locals[cdt][cdn];
- if (d.item_code) {
- return get_server_fields('get_item_details', d.item_code, 'items',
- doc, cdt, cdn, 1);
- }
-}
-
cur_frm.cscript.generate_schedule = function(doc, cdt, cdn) {
if (!doc.__islocal) {
return $c('runserverobj', args={'method':'generate_schedule', 'docs':doc},
diff --git a/erpnext/support/doctype/maintenance_schedule/maintenance_schedule.py b/erpnext/support/doctype/maintenance_schedule/maintenance_schedule.py
index 0ecc9c0..9ac1133 100644
--- a/erpnext/support/doctype/maintenance_schedule/maintenance_schedule.py
+++ b/erpnext/support/doctype/maintenance_schedule/maintenance_schedule.py
@@ -11,16 +11,6 @@
from erpnext.stock.utils import get_valid_serial_nos
class MaintenanceSchedule(TransactionBase):
-
- def get_item_details(self, item_code):
- item = frappe.db.sql("""select item_name, description from `tabItem`
- where name=%s""", (item_code), as_dict=1)
- ret = {
- 'item_name': item and item[0]['item_name'] or '',
- 'description' : item and item[0]['description'] or ''
- }
- return ret
-
def generate_schedule(self):
self.set('schedules', [])
frappe.db.sql("""delete from `tabMaintenance Schedule Detail`
diff --git a/erpnext/support/doctype/maintenance_visit/maintenance_visit.js b/erpnext/support/doctype/maintenance_visit/maintenance_visit.js
index c917918..7a803fb 100644
--- a/erpnext/support/doctype/maintenance_visit/maintenance_visit.js
+++ b/erpnext/support/doctype/maintenance_visit/maintenance_visit.js
@@ -61,6 +61,10 @@
cur_frm.cscript.onload = function(doc, dt, dn) {
if(!doc.status) set_multiple(dt,dn,{status:'Draft'});
if(doc.__islocal) set_multiple(dt,dn,{mntc_date:get_today()});
+
+ // set add fetch for item_code's item_name and description
+ cur_frm.add_fetch('item_code', 'item_name', 'item_name');
+ cur_frm.add_fetch('item_code', 'description', 'description');
}
cur_frm.fields_dict['customer_address'].get_query = function(doc, cdt, cdn) {
@@ -81,14 +85,6 @@
}
}
-cur_frm.cscript.item_code = function(doc, cdt, cdn) {
- var d = locals[cdt][cdn];
- if (d.item_code) {
- return get_server_fields('get_item_details',d.item_code, 'purposes',doc,cdt,cdn,1);
- }
-}
-
-
cur_frm.fields_dict.customer.get_query = function(doc,cdt,cdn) {
return {query: "erpnext.controllers.queries.customer_query" }
}
diff --git a/erpnext/support/doctype/maintenance_visit/maintenance_visit.py b/erpnext/support/doctype/maintenance_visit/maintenance_visit.py
index b17685f..6d082bd 100644
--- a/erpnext/support/doctype/maintenance_visit/maintenance_visit.py
+++ b/erpnext/support/doctype/maintenance_visit/maintenance_visit.py
@@ -11,9 +11,6 @@
def get_feed(self):
return _("To {0}").format(self.customer_name)
- def get_item_details(self, item_code):
- return frappe.db.get_value("Item", item_code, ["item_name", "description"], as_dict=1)
-
def validate_serial_no(self):
for d in self.get('purposes'):
if d.serial_no and not frappe.db.exists("Serial No", d.serial_no):
diff --git a/erpnext/translations/de.csv b/erpnext/translations/de.csv
index a4a1a08..f891811 100644
--- a/erpnext/translations/de.csv
+++ b/erpnext/translations/de.csv
@@ -29,7 +29,7 @@
DocType: Job Applicant,Job Applicant,Bewerber
apps/erpnext/erpnext/hub_node/page/hub/hub_body.html +18,No more results.,Keine weiteren Resultate
apps/erpnext/erpnext/setup/page/setup_wizard/install_fixtures.py +78,Legal,Juristisch
-apps/erpnext/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js +114,Actual type tax cannot be included in Item rate in row {0},Tatsächliche Steuerart kann nicht in Zeile {0} TARIFART beinhaltet sein
+apps/erpnext/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js +114,Actual type tax cannot be included in Item rate in row {0},Tatsächliche Steuerart kann nicht in Zeile {0} Tarifart beinhaltet sein
DocType: C-Form,Customer,Kunde
DocType: Purchase Receipt Item,Required By,Erforderlich nach
DocType: Delivery Note,Return Against Delivery Note,Rückspiel gegen Lieferschein
@@ -37,14 +37,14 @@
DocType: Purchase Order,% Billed,% verrechnet
apps/erpnext/erpnext/controllers/sales_and_purchase_return.py +44,Exchange Rate must be same as {0} {1} ({2}),Wechselkurs muss dieselbe wie {0} {1} ({2})
DocType: Sales Invoice,Customer Name,Kundenname
-DocType: Features Setup,"All export related fields like currency, conversion rate, export total, export grand total etc are available in Delivery Note, POS, Quotation, Sales Invoice, Sales Order etc.","Alle Export verwandten Bereiche (z.B. Währung, Wechselkurs, Summenexport, Gesamtsummenexport usw.) sind in Lieferschein, POS, Angebot, Ausgangsrechnung, Kundenauftrag usw. verfügbar"
+DocType: Features Setup,"All export related fields like currency, conversion rate, export total, export grand total etc are available in Delivery Note, POS, Quotation, Sales Invoice, Sales Order etc.","Alle mit dem Export verknüpften Felder (wie z. B. Währung, Wechselkurs, Summe Export, Gesamtsumme Export usw.) sind in Lieferschein, POS, Angebot, Ausgangsrechnung, Kundenauftrag usw. verfügbar"
DocType: Account,Heads (or groups) against which Accounting Entries are made and balances are maintained.,"Vorgesetzte (oder Gruppen), für die Buchungseinträge vorgenommen und Salden geführt werden."
apps/erpnext/erpnext/accounts/doctype/gl_entry/gl_entry.py +154,Outstanding for {0} cannot be less than zero ({1}),Herausragende für {0} kann nicht kleiner als Null sein ({1})
DocType: Manufacturing Settings,Default 10 mins,Standard 10 Minuten
DocType: Leave Type,Leave Type Name,Urlaubstyp Name
apps/erpnext/erpnext/setup/doctype/naming_series/naming_series.py +146,Series Updated Successfully,Serie erfolgreich aktualisiert
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/operations.py +149,Stitching,Stitching
-DocType: Pricing Rule,Apply On,Bewerben auf
+DocType: Pricing Rule,Apply On,Anwenden auf
DocType: Item Price,Multiple Item prices.,Mehrere Artikelpreise.
,Purchase Order Items To Be Received,Eingehende Lieferatenauftrags-Artikel
DocType: SMS Center,All Supplier Contact,Alle Lieferantenkontakte
@@ -54,7 +54,7 @@
apps/erpnext/erpnext/manufacturing/doctype/production_order/production_order.js +236,Do really want to unstop production order:,"Sie wirklich wollen, um Fertigungsauftrag aufmachen:"
apps/erpnext/erpnext/utilities/transaction_base.py +104,Row #{0}: Rate must be same as {1}: {2} ({3} / {4}) ,"Row # {0}: Rate muss dieselbe sein, wie {1}: {2} ({3} / {4})"
apps/erpnext/erpnext/hr/doctype/leave_application/leave_application.py +190,New Leave Application,Neuer Urlaubsantrag
-apps/erpnext/erpnext/setup/page/setup_wizard/install_fixtures.py +134,Bank Draft,Bank Entwurf
+apps/erpnext/erpnext/setup/page/setup_wizard/install_fixtures.py +134,Bank Draft,Bankwechsel
DocType: Features Setup,1. To maintain the customer wise item code and to make them searchable based on their code use this option,"1. Um die kundenspezifische Artikel-Nr zu erhalten und sie auffindbar zu machen, verwenden Sie diese Option"
DocType: Mode of Payment Account,Mode of Payment Account,Zahlungsweise Konto
apps/erpnext/erpnext/stock/doctype/item/item.js +30,Show Variants,Varianten anzeigen
@@ -66,7 +66,7 @@
apps/erpnext/erpnext/hr/doctype/employee/employee.py +141,User {0} is already assigned to Employee {1},Benutzer {0} ist bereits Mitarbeiter {1} zugewiesen
apps/erpnext/erpnext/accounts/page/pos/pos_page.html +13,Make new POS Profile,Neue POS Profil
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/industry_type.py +30,Health Care,Health Care
-DocType: Purchase Invoice,Monthly,Monatlich
+DocType: Purchase Invoice,Monthly,monatlich
apps/erpnext/erpnext/accounts/report/purchase_register/purchase_register.py +65,Invoice,In Rechnung Stellen
DocType: Maintenance Schedule Item,Periodicity,Periodizität
apps/erpnext/erpnext/setup/page/setup_wizard/setup_wizard.js +357,Email Address,E-Mail-Addresse
@@ -98,7 +98,7 @@
DocType: BOM,Operations,Vorgänge
apps/erpnext/erpnext/setup/doctype/authorization_rule/authorization_rule.py +38,Cannot set authorization on basis of Discount for {0},Kann Genehmigung nicht auf der Basis des Rabattes für {0} festlegen
DocType: Bin,Quantity Requested for Purchase,Erforderliche Bestellmenge
-DocType: Rename Tool,"Attach .csv file with two columns, one for the old name and one for the new name","Bringen Sie CSV-Datei mit zwei Spalten, eine für die alten Namen und eine für den neuen Namen"
+DocType: Rename Tool,"Attach .csv file with two columns, one for the old name and one for the new name",".csv-Datei mit zwei Zeilen, eine für den alten und eine für den neuen Namen, anhängen"
DocType: Packed Item,Parent Detail docname,Übergeordnetes Detail Dokumentenname
apps/erpnext/erpnext/setup/page/setup_wizard/setup_wizard.js +626,Kg,kg
apps/erpnext/erpnext/config/hr.py +48,Opening for a Job.,Stellenausschreibung
@@ -108,7 +108,7 @@
DocType: Payment Reconciliation,Reconcile,Abstimmen
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/industry_type.py +29,Grocery,Lebensmittelgeschäft
DocType: Quality Inspection Reading,Reading 1,Ablesung 1
-apps/erpnext/erpnext/hr/doctype/expense_claim/expense_claim.js +97,Make Bank Entry,neuen Bank Eintrag erfassen
+apps/erpnext/erpnext/hr/doctype/expense_claim/expense_claim.js +97,Make Bank Entry,Bankbuchung erstellen
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/industry_type.py +39,Pension Funds,Pensionsfonds
apps/erpnext/erpnext/accounts/doctype/account/account.py +116,Warehouse is mandatory if account type is Warehouse,"Warehouse ist obligatorisch, wenn Kontotyp Lager"
DocType: SMS Center,All Sales Person,Alle Vertriebsmitarbeiter
@@ -215,7 +215,7 @@
DocType: Purchase Taxes and Charges,Valuation,Bewertung
apps/erpnext/erpnext/accounts/doctype/fiscal_year/fiscal_year.js +17,Set as Default,Als Standard setzen
,Purchase Order Trends,Lieferatenauftrag Trends
-apps/erpnext/erpnext/config/hr.py +78,Allocate leaves for the year.,Jahresurlaube zuordnen.
+apps/erpnext/erpnext/config/hr.py +78,Allocate leaves for the year.,Urlaube für ein Jahr zuordnen.
DocType: Earning Type,Earning Type,Einkommensart
DocType: Manufacturing Settings,Disable Capacity Planning and Time Tracking,Disable Kapazitätsplanung und Zeiterfassung
DocType: Email Digest,New Sales Orders,Neue Kundenaufträge
@@ -233,7 +233,7 @@
apps/erpnext/erpnext/manufacturing/doctype/production_order/production_order.py +150,For Warehouse is required before Submit,"Für Warehouse erforderlich ist, bevor abschicken"
DocType: Sales Partner,Reseller,Wiederverkäufer
apps/erpnext/erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.py +41,Please enter Company,Bitte geben Sie Firmen
-DocType: Delivery Note Item,Against Sales Invoice Item,Vor Sales Invoice Artikel
+DocType: Delivery Note Item,Against Sales Invoice Item,Gegen Ausgangsrechnungs-Position
,Production Orders in Progress,Fertigungsaufträge in Arbeit
DocType: Journal Entry,Write Off Amount <=,"Abschreibung, Betrag <="
DocType: Lead,Address & Contact,Adresse & Kontakt
@@ -337,13 +337,13 @@
DocType: Purchase Invoice,"Enter email id separated by commas, invoice will be mailed automatically on particular date","Geben Sie die durch Kommas getrennte E-Mail-Adresse ein, die Rechnung wird automatisch an einem bestimmten Rechnungsdatum abgeschickt"
DocType: Employee,Company Email,Firma E-Mail
DocType: Workflow State,Refresh,aktualisieren
-DocType: Features Setup,"All import related fields like currency, conversion rate, import total, import grand total etc are available in Purchase Receipt, Supplier Quotation, Purchase Invoice, Purchase Order etc.","Alle Import verwandten Bereiche wie Währung, Wechselkurs, Summenimport, Gesamtsummenimport etc sind in Eingangslieferschein, Angebot für den Lieferant, Eingangsrechnung, Lieferatenauftrag usw. verfügbar"
+DocType: Features Setup,"All import related fields like currency, conversion rate, import total, import grand total etc are available in Purchase Receipt, Supplier Quotation, Purchase Invoice, Purchase Order etc.","Alle mit dem Import verknüpften Felder (wie z. B. Währung, Wechselkurs, Summe Import, Gesamtsumme Import usw.) sind in Kaufbeleg, Lieferantenangebot, Eingangsrechnung, Auftrag usw. verfügbar"
apps/erpnext/erpnext/stock/doctype/item/item.js +29,This Item is a Template and cannot be used in transactions. Item attributes will be copied over into the variants unless 'No Copy' is set,"Dieser Artikel ist eine Vorlage und kann nicht in Transaktionen verwendet werden. Artikel Attribute werden über in die Varianten kopiert, wenn ""No Copy 'gesetzt werden"
apps/erpnext/erpnext/selling/report/customers_not_buying_since_long_time/customers_not_buying_since_long_time.py +69,Total Order Considered,Gesamtbestell Considered
apps/erpnext/erpnext/config/hr.py +110,"Employee designation (e.g. CEO, Director etc.).","Mitarbeiterbezeichnung (z.B. Geschäftsführer, Direktor etc.)."
apps/erpnext/erpnext/controllers/recurring_document.py +200,Please enter 'Repeat on Day of Month' field value,"Bitte geben Sie ""Wiederholung am Tag des Monats"" als Feldwert ein"
DocType: Sales Invoice,Rate at which Customer Currency is converted to customer's base currency,"Kurs, zu dem die Kundenwährung in die Basiswährung des Kunden umgerechnet wird"
-DocType: Features Setup,"Available in BOM, Delivery Note, Purchase Invoice, Production Order, Purchase Order, Purchase Receipt, Sales Invoice, Sales Order, Stock Entry, Timesheet","Verfügbar in Stückliste, Lieferschein, Eingangsrechnung, Fertigungsauftrag, Lieferatenauftrag, Eingangslieferschein, Ausgangsrechnung, Kundenauftrag, Lagerbeleg, Zeiterfassung"
+DocType: Features Setup,"Available in BOM, Delivery Note, Purchase Invoice, Production Order, Purchase Order, Purchase Receipt, Sales Invoice, Sales Order, Stock Entry, Timesheet","Verfügbar in Stückliste, Lieferschein, Eingangsrechnung, Fertigungsauftrag, Einkaufsauftrag, Eingangslieferschein, Ausgangsrechnung, Kundenauftrag, Lagerbeleg, Zeiterfassung"
DocType: Item Tax,Tax Rate,Steuersatz
apps/erpnext/erpnext/buying/doctype/purchase_order/purchase_order.js +504,Select Item,Wählen Sie die Artikel-
apps/erpnext/erpnext/selling/doctype/sales_order/sales_order.py +208,{0} {1} status is Stopped,{0} {1} hat den Status angehalten
@@ -354,7 +354,7 @@
apps/erpnext/erpnext/accounts/doctype/account/account.js +54,Convert to non-Group,Umwandlung in nicht-Gruppe
apps/erpnext/erpnext/stock/doctype/landed_cost_voucher/landed_cost_voucher.py +55,Purchase Receipt must be submitted,Eingangslieferscheine müssen eingereicht werden
DocType: Stock UOM Replace Utility,Current Stock UOM,Aktuelle Lager-ME
-apps/erpnext/erpnext/config/stock.py +53,Batch (lot) of an Item.,Stapel (Partie) eines Artikels.
+apps/erpnext/erpnext/config/stock.py +53,Batch (lot) of an Item.,Bündel (Los) eines Artikels.
DocType: C-Form Invoice Detail,Invoice Date,Rechnungsdatum
apps/erpnext/erpnext/templates/includes/footer/footer_extension.html +7,Your email address,Ihre E-Mail -Adresse
DocType: Email Digest,Income booked for the digest period,Gebuchter Gewinn für den Berichtszeitraum
@@ -368,7 +368,7 @@
DocType: Maintenance Visit,Maintenance Type,Wartungstyp
apps/erpnext/erpnext/selling/doctype/installation_note/installation_note.py +69,Serial No {0} does not belong to Delivery Note {1},Seriennummer {0} gehört nicht zu Lieferschein {1}
DocType: Item Quality Inspection Parameter,Item Quality Inspection Parameter,Parameter der Artikel-Qualitätsprüfung
-DocType: Leave Application,Leave Approver Name,Lassen Genehmiger Namens
+DocType: Leave Application,Leave Approver Name,Name des Urlaubsgenehmigers
,Schedule Date,Zeitplan Datum
DocType: Packed Item,Packed Item,Verpackter Artikel
apps/erpnext/erpnext/config/buying.py +54,Default settings for buying transactions.,Standardeinstellungen für Einkaufstransaktionen.
@@ -383,7 +383,7 @@
DocType: Naming Series,Change the starting / current sequence number of an existing series.,Startnummer/aktuelle laufende Nummer einer bestehenden Serie ändern.
apps/erpnext/erpnext/accounts/doctype/pricing_rule/pricing_rule.js +57,"If multiple Pricing Rules continue to prevail, users are asked to set Priority manually to resolve conflict.","Wenn mehrere Preisregeln weiterhin herrschen, werden die Benutzer aufgefordert, Priorität manuell einstellen, um Konflikt zu lösen."
,Purchase Register,Einkaufsregister
-DocType: Landed Cost Item,Applicable Charges,fällige Gebühren
+DocType: Landed Cost Item,Applicable Charges,anfallende Gebühren
DocType: Workstation,Consumable Cost,Verbrauchskosten
apps/erpnext/erpnext/hr/doctype/leave_application/leave_application.py +153,{0} ({1}) must have role 'Leave Approver',"{0} ({1}) muss Rolle ""Urlaub-Genehmiger"" haben"
apps/erpnext/erpnext/setup/page/setup_wizard/install_fixtures.py +39,Medical,Medizin-
@@ -398,7 +398,7 @@
DocType: Purchase Invoice,Yearly,Jährlich
apps/erpnext/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py +223,Please enter Cost Center,Bitte geben Sie Kostenstelle
DocType: Sales Invoice Item,Sales Order,Kundenauftrag
-apps/erpnext/erpnext/accounts/report/gross_profit/gross_profit.py +63,Avg. Selling Rate,Rel. Verkaufspreis
+apps/erpnext/erpnext/accounts/report/gross_profit/gross_profit.py +63,Avg. Selling Rate,Durchschnittlicher Verkaufspreis
DocType: Purchase Order,Start date of current order's period,Startdatum der aktuellen Bestellperiode
apps/erpnext/erpnext/utilities/transaction_base.py +128,Quantity cannot be a fraction in row {0},Menge kann nicht ein Bruchteil in Zeile {0}
DocType: Purchase Invoice Item,Quantity and Rate,Menge und Preis
@@ -530,7 +530,7 @@
apps/erpnext/erpnext/accounts/report/purchase_register/purchase_register.py +66,Payable Account,Zahlbar Konto
apps/erpnext/erpnext/selling/report/customer_acquisition_and_loyalty/customer_acquisition_and_loyalty.py +58,Repeat Customers,"Wiederholen Sie die Kunden,"
DocType: Backup Manager,Sync with Google Drive,Mit Google Drive synchronisieren
-DocType: Leave Control Panel,Allocate,Bereitstellen
+DocType: Leave Control Panel,Allocate,Zuweisen
apps/erpnext/erpnext/setup/page/setup_wizard/setup_wizard_page.html +16,Previous,zurück
DocType: Item,Manage Variants,Varianten verwalten
DocType: Production Planning Tool,Select Sales Orders from which you want to create Production Orders.,"Kundenaufträge auswählen, aus denen Sie Fertigungsaufträge erstellen möchten."
@@ -540,7 +540,7 @@
DocType: Quotation,Quotation To,Angebot für
DocType: Lead,Middle Income,Mittleres Einkommen
apps/erpnext/erpnext/accounts/page/financial_analytics/financial_analytics.js +58,Opening (Cr),Eröffnung (Cr)
-apps/erpnext/erpnext/accounts/utils.py +186,Allocated amount can not be negative,Geschätzter Betrag kann nicht negativ sein
+apps/erpnext/erpnext/accounts/utils.py +186,Allocated amount can not be negative,Zugewiesene Menge kann nicht negativ sein
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/operations.py +122,Tumbling,Tumbling
DocType: Purchase Order Item,Billed Amt,Rechnungsbetrag
DocType: Warehouse,A logical Warehouse against which stock entries are made.,Eine logisches Warenlager für das Bestandseinträge gemacht werden.
@@ -550,12 +550,12 @@
apps/erpnext/erpnext/projects/doctype/time_log/time_log.py +200,Production Order is Mandatory,Fertigungsauftrag ist obligatorisch
apps/erpnext/erpnext/shopping_cart/doctype/shopping_cart_settings/shopping_cart_settings.py +36,{0} {1} has a common territory {2},{0} {1} hat ein gemeinsames Gebiet {2}
apps/erpnext/erpnext/setup/page/setup_wizard/install_fixtures.py +139,Proposal Writing,Proposal Writing
-apps/erpnext/erpnext/setup/doctype/sales_person/sales_person.py +35,Another Sales Person {0} exists with the same Employee id,Ein weiterer Sales Person {0} mit der gleichen Mitarbeiter id existiert
+apps/erpnext/erpnext/setup/doctype/sales_person/sales_person.py +35,Another Sales Person {0} exists with the same Employee id,Ein weiterer Vertriebsmitarbeiter {0} existiert bereits mit der gleichen Mitarbeiter ID
apps/erpnext/erpnext/stock/stock_ledger.py +337,Negative Stock Error ({6}) for Item {0} in Warehouse {1} on {2} {3} in {4} {5},Negative Auf Error ( {6}) für Artikel {0} in {1} Warehouse auf {2} {3} {4} in {5}
DocType: Fiscal Year Company,Fiscal Year Company,Das Geschäftsjahr Gesellschaft
DocType: Packing Slip Item,DN Detail,DN-Detail
DocType: Time Log,Billed,Abgerechnet
-DocType: Batch,Batch Description,Batch Beschreibung
+DocType: Batch,Batch Description,Bündelbeschreibung
DocType: Delivery Note,Time at which items were delivered from warehouse,"Zeitpunkt, zu dem Artikel aus dem Lager geliefert wurden"
DocType: Sales Invoice,Sales Taxes and Charges,Umsatzsteuern und Gebühren
DocType: Employee,Organization Profile,Firmenprofil
@@ -635,8 +635,8 @@
DocType: Serial No,Warranty Expiry Date,Garantieablaufdatum
DocType: Material Request Item,Quantity and Warehouse,Menge und Lager
DocType: Sales Invoice,Commission Rate (%),Provisionsrate (%)
-apps/erpnext/erpnext/accounts/doctype/payment_tool/payment_tool.js +142,"Against Voucher Type must be one of Sales Order, Sales Invoice or Journal Entry","Vor Gutschein Typ muss einer der Sales Order, Verkaufsrechnung oder einen Journaleintrag sein"
-apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/operations.py +138,Biomachining,Biomachining
+apps/erpnext/erpnext/accounts/doctype/payment_tool/payment_tool.js +142,"Against Voucher Type must be one of Sales Order, Sales Invoice or Journal Entry","Gegen Belegart muss entweder ein Kundenauftrag, eine Einkaufsrechnung oder ein Journaleintrag sein"
+apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/operations.py +138,Biomachining,Biologische Bearbeitung
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/industry_type.py +6,Aerospace,Luft- und Raumfahrt
apps/erpnext/erpnext/setup/page/setup_wizard/setup_wizard.js +19,Welcome,Willkommen
DocType: Journal Entry,Credit Card Entry,Kreditkarte Eintrag
@@ -741,7 +741,7 @@
apps/erpnext/erpnext/controllers/sales_and_purchase_return.py +49,'Update Stock' can not be checked because items are not delivered via {0},"»Update Auf 'kann nicht überprüft, da Elemente nicht über geliefert werden {0}"
apps/erpnext/erpnext/setup/page/setup_wizard/setup_wizard.js +626,Nos,Stk
DocType: Item,Items with higher weightage will be shown higher,Objekte mit höheren Gewichtung höher angezeigt werden
-DocType: Bank Reconciliation Detail,Bank Reconciliation Detail,Kontenabstimmungsdetail
+DocType: Bank Reconciliation Detail,Bank Reconciliation Detail,Ausführlicher Kontenabgleich
apps/erpnext/erpnext/accounts/doctype/sales_invoice/sales_invoice.py +580,My Invoices,Meine Rechnungen
apps/erpnext/erpnext/hr/doctype/leave_control_panel/leave_control_panel.py +39,No employee found,Kein Mitarbeiter gefunden
DocType: Purchase Order,Stopped,Angehalten
@@ -764,7 +764,7 @@
DocType: Comment,Reference Name,Referenzname
DocType: Maintenance Visit,Completion Status,Fertigstellungsstatus
DocType: Production Order,Target Warehouse,Zielwarenlager
-DocType: Item,Allow over delivery or receipt upto this percent,Lassen Sie über Lieferung oder Abnahme bis zu diesem Prozent
+DocType: Item,Allow over delivery or receipt upto this percent,Überlieferung bis zu diesem Prozentsatz zulassen
apps/erpnext/erpnext/selling/doctype/sales_order/sales_order.py +23,Expected Delivery Date cannot be before Sales Order Date,Voraussichtlicher Liefertermin kann nicht vor Kundenauftragsdatum liegen
DocType: Upload Attendance,Import Attendance,Importteilnahme
apps/erpnext/erpnext/setup/page/setup_wizard/install_fixtures.py +17,All Item Groups,Alle Artikelgruppen
@@ -876,7 +876,7 @@
DocType: Pricing Rule,Max Qty,Max Menge
apps/erpnext/erpnext/accounts/doctype/journal_entry/journal_entry.py +124,Row {0}: Payment against Sales/Purchase Order should always be marked as advance,Zeile {0}: Zahlung gegen Verkauf / Bestellung immer als vorher markiert werden
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/industry_type.py +15,Chemical,Chemikalie
-apps/erpnext/erpnext/stock/doctype/stock_entry/stock_entry.py +605,All items have already been transferred for this Production Order.,Alle Artikel werden schon für diesen Fertigungsauftrag übernommen.
+apps/erpnext/erpnext/stock/doctype/stock_entry/stock_entry.py +605,All items have already been transferred for this Production Order.,Alle Artikel wurden schon für diesen Fertigungsauftrag übernommen.
DocType: Process Payroll,Select Payroll Year and Month,Wählen Payroll Jahr und Monat
apps/erpnext/erpnext/accounts/page/accounts_browser/accounts_browser.js +32,"Go to the appropriate group (usually Application of Funds > Current Assets > Bank Accounts and create a new Account (by clicking on Add Child) of type ""Bank""",Gehen Sie auf die entsprechende Gruppe (in der Regel Anwendung der Fonds> Umlaufvermögen> Bank Accounts und ein neues Konto erstellen (indem Sie auf Hinzufügen Kind) vom Typ "Bank"
DocType: Workstation,Electricity Cost,Stromkosten
@@ -1061,12 +1061,12 @@
apps/erpnext/erpnext/accounts/doctype/account/account.js +57,View Ledger,Ansicht Sachkonto
DocType: Cost Center,Lft,lft
apps/erpnext/erpnext/stock/report/stock_ageing/stock_ageing.py +41,Earliest,Frühestens
-apps/erpnext/erpnext/stock/doctype/item/item.py +246,"An Item Group exists with same name, please change the item name or rename the item group","Mit dem gleichen Namen eine Artikelgruppe existiert, ändern Sie bitte die Artikel -Namen oder die Artikelgruppe umbenennen"
+apps/erpnext/erpnext/stock/doctype/item/item.py +246,"An Item Group exists with same name, please change the item name or rename the item group",Ein Artikel mit dem gleichen Namen existiert Artikelgruppe bereits. Ändern Sie bitte die Artikel -Namen oder die Artikelgruppe umbenennen
DocType: Sales Order,Delivery Status,Lieferstatus
DocType: Production Order,Manufacture against Sales Order,Herstellung laut Kundenauftrag
apps/erpnext/erpnext/setup/page/setup_wizard/setup_wizard.py +496,Rest Of The World,Rest der Welt
apps/erpnext/erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.py +79,The Item {0} cannot have Batch,Der Artikel {0} kann nicht Batch
-,Budget Variance Report,Budget Abweichungsbericht
+,Budget Variance Report,Budget-Abweichungsbericht
DocType: Salary Slip,Gross Pay,Bruttolohn
apps/erpnext/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py +186,Dividends Paid,Ausgeschüttete Dividenden
DocType: Stock Reconciliation,Difference Amount,Unterschiedsbetrag
@@ -1087,7 +1087,7 @@
DocType: Supplier,More Info,Mehr Informationen
DocType: Address,Address Type,Adresstyp
DocType: Purchase Receipt,Rejected Warehouse,Abgelehntes Warenlager
-DocType: GL Entry,Against Voucher,Gegen Gutschein
+DocType: GL Entry,Against Voucher,Gegen Beleg
DocType: Item,Default Buying Cost Center,Standard Buying Kostenstelle
apps/erpnext/erpnext/selling/doctype/quotation/quotation.py +36,Item {0} must be Sales Item,Artikel {0} muss sein Verkaufsartikel
DocType: Item,Lead Time in days,Lieferzeit in Tagen
@@ -1146,12 +1146,12 @@
DocType: Item,Website Item Groups,Webseite-Artikelgruppen
apps/erpnext/erpnext/stock/doctype/stock_entry/stock_entry.py +175,Production order number is mandatory for stock entry purpose manufacture,Fertigungsauftragsnummer ist für Einlagerung Zweck Herstellung
DocType: Purchase Invoice,Total (Company Currency),Total (Gesellschaft Währung)
-DocType: Applicable Territory,Applicable Territory,Anwendbar Territory
+DocType: Applicable Territory,Applicable Territory,Anwendbares Territorium
apps/erpnext/erpnext/stock/utils.py +162,Serial number {0} entered more than once,Seriennummer {0} wurde bereits mehrfach erfasst
DocType: Journal Entry,Journal Entry,Journaleintrag
DocType: Workstation,Workstation Name,Name der Arbeitsstation
apps/erpnext/erpnext/setup/doctype/email_digest/email_digest.js +19,Email Digest:,Mail Digest:
-apps/erpnext/erpnext/manufacturing/doctype/bom/bom.py +433,BOM {0} does not belong to Item {1},"Stückliste {0} nicht zum Artikel gehören, {1}"
+apps/erpnext/erpnext/manufacturing/doctype/bom/bom.py +433,BOM {0} does not belong to Item {1},Stückliste {0} gehört nicht zum Artikel {1}
DocType: Sales Partner,Target Distribution,Zielverteilung
sites/assets/js/desk.min.js +622,Comments,Kommentare
DocType: Salary Slip,Bank Account No.,Bankkonto-Nr.
@@ -1170,7 +1170,7 @@
sites/assets/js/form.min.js +200,No Data,Keine Daten
DocType: Appraisal Template Goal,Appraisal Template Goal,Bewertungsvorlage Ziel
DocType: Salary Slip,Earning,Ertrag
-,BOM Browser,BOM Browser
+,BOM Browser,Stücklisten-Browser
DocType: Purchase Taxes and Charges,Add or Deduct,Addieren/Subtrahieren
apps/erpnext/erpnext/accounts/doctype/shipping_rule/shipping_rule.py +75,Overlapping conditions found between:,überlagernde Bedingungen gefunden zwischen:
apps/erpnext/erpnext/accounts/doctype/gl_entry/gl_entry.py +145,Against Journal Entry {0} is already adjusted against some other voucher,Gegen Journaleintrag {0} ist bereits mit einem anderen Beleg abgeglichen
@@ -1178,7 +1178,7 @@
apps/erpnext/erpnext/selling/report/customers_not_buying_since_long_time/customers_not_buying_since_long_time.py +68,Total Order Value,Gesamtbestellwert
apps/erpnext/erpnext/stock/doctype/manage_variants/manage_variants.py +167,Item Variants {0} deleted,Artikelvarianten {0} gelöscht
apps/erpnext/erpnext/setup/page/setup_wizard/install_fixtures.py +38,Food,Lebensmittel
-apps/erpnext/erpnext/accounts/report/accounts_payable/accounts_payable.js +51,Ageing Range 3,Ageing Bereich 3
+apps/erpnext/erpnext/accounts/report/accounts_payable/accounts_payable.js +51,Ageing Range 3,Alterung Bereich 3
apps/erpnext/erpnext/stock/doctype/manage_variants/manage_variants.py +84,{0} {1} is entered more than once in Attributes table,{0} {1} ist mehr als einmal in Attribute-Tabelle eingetragen
apps/erpnext/erpnext/projects/doctype/time_log/time_log.py +130,You can make a time log only against a submitted production order,Sie können ein Zeitprotokoll nur gegen einen Fertigungsauftrag eingereicht machen
DocType: Maintenance Schedule Item,No of Visits,Anzahl der Besuche
@@ -1206,7 +1206,7 @@
DocType: Item,Will also apply to variants,Wird auch zu Varianten gelten
apps/erpnext/erpnext/accounts/doctype/fiscal_year/fiscal_year.py +30,Cannot change Fiscal Year Start Date and Fiscal Year End Date once the Fiscal Year is saved.,"Geschäftsjahr Startdatum und Geschäftsjahresende Datum, wenn die Geschäftsjahr wird gespeichert nicht ändern kann."
DocType: Quotation,Shopping Cart,Warenkorb
-apps/erpnext/erpnext/stock/report/itemwise_recommended_reorder_level/itemwise_recommended_reorder_level.py +42,Avg Daily Outgoing,Avg Tägliche Ausgeh
+apps/erpnext/erpnext/stock/report/itemwise_recommended_reorder_level/itemwise_recommended_reorder_level.py +42,Avg Daily Outgoing,Durchschnittlicher täglicher Abgang
DocType: Pricing Rule,Campaign,Kampagne
apps/erpnext/erpnext/hr/doctype/expense_claim/expense_claim.py +29,Approval Status must be 'Approved' or 'Rejected',"Genehmigungsstatus muss ""genehmigt"" oder ""abgelehnt"" sein"
DocType: Purchase Invoice,Contact Person,Kontaktperson
@@ -1233,15 +1233,15 @@
DocType: Salary Slip Deduction,Depends on Leave Without Pay,"Hängt davon ab, unbezahlten Urlaub"
DocType: Pricing Rule,"Higher the number, higher the priority","Je höher die Zahl, desto höher die Priorität"
,Purchase Invoice Trends,Eingangsrechnung Trends
-DocType: Employee,Better Prospects,Bessere zukünftige Kunden
+DocType: Employee,Better Prospects,Bessere Vorhersage
DocType: Appraisal,Goals,Ziele
DocType: Warranty Claim,Warranty / AMC Status,Garantie / AMC-Status
,Accounts Browser,Kontenbrowser
DocType: GL Entry,GL Entry,HB-Eintrag
DocType: HR Settings,Employee Settings,Mitarbeitereinstellungen
-,Batch-Wise Balance History,Stapelweiser Kontostand
+,Batch-Wise Balance History,Stapelweise Kontostands-Historie
DocType: Email Digest,To Do List,Aufgabenliste
-apps/erpnext/erpnext/setup/page/setup_wizard/install_fixtures.py +63,Apprentice,Praktikant/in
+apps/erpnext/erpnext/setup/page/setup_wizard/install_fixtures.py +63,Apprentice,Auszubildende(r)
apps/erpnext/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py +99,Negative Quantity is not allowed,Negative Menge ist nicht erlaubt
DocType: Purchase Invoice Item,"Tax detail table fetched from item master as a string and stored in this field.
Used for Taxes and Charges","Steuerndetailtabelle geholt vom Artikelstamm als String und in diesem Feld gespeichert.
@@ -1312,7 +1312,7 @@
apps/erpnext/erpnext/accounts/doctype/account/account.js +8,Please create new account from Chart of Accounts.,Bitte neues Konto erstellen von Kontenübersicht.
DocType: Maintenance Visit,Maintenance Visit,Wartungsbesuch
apps/erpnext/erpnext/accounts/doctype/pricing_rule/pricing_rule.js +49,Customer > Customer Group > Territory,Kunden> Kundengruppe> Territory
-DocType: Sales Invoice Item,Available Batch Qty at Warehouse,Erhältlich Batch Menge an Lager
+DocType: Sales Invoice Item,Available Batch Qty at Warehouse,Verfügbare Losgröße im Lager
DocType: Time Log Batch Detail,Time Log Batch Detail,Zeitprotokollstapel-Detail
DocType: Workflow State,Tasks,Aufgaben
DocType: Landed Cost Voucher,Landed Cost Help,Einstandpreis Hilfe
@@ -1328,7 +1328,7 @@
DocType: Delivery Note,In Words will be visible once you save the Delivery Note.,"In Worten wird sichtbar, sobald Sie den Lieferschein speichern."
apps/erpnext/erpnext/config/stock.py +125,Brand master.,Marke Vorlage
DocType: ToDo,Due Date,Fälligkeitsdatum
-DocType: Sales Invoice Item,Brand Name,Markenname
+DocType: Sales Invoice Item,Brand Name,Marke Name
apps/erpnext/erpnext/setup/page/setup_wizard/setup_wizard.js +626,Box,Kiste
apps/erpnext/erpnext/setup/page/setup_wizard/setup_wizard.js +389,The Organization,Die Firma
DocType: Monthly Distribution,Monthly Distribution,Monatliche Verteilung
@@ -1341,7 +1341,7 @@
apps/erpnext/erpnext/config/learn.py +137,Material Request to Purchase Order,Material Antrag auf Auftrag kaufen
apps/erpnext/erpnext/controllers/sales_and_purchase_return.py +69,Row # {0}: Returned Item {1} does not exists in {2} {3},Row # {0}: zurückgebrachtes Einzelteil {1} nicht existiert in {2} {3}
apps/erpnext/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py +16,Bank Accounts,Bankkonten
-,Bank Reconciliation Statement,Kontenabstimmungsauszug
+,Bank Reconciliation Statement,Kontoauszug zum Kontenabgleich
DocType: Address,Lead Name,Interessent Name
,POS,POS
apps/erpnext/erpnext/config/stock.py +273,Opening Stock Balance,Öffnungslizenzabgleich
@@ -1403,7 +1403,7 @@
apps/erpnext/erpnext/setup/page/setup_wizard/install_fixtures.py +74,Human Resources,Personalwesen
DocType: Lead,Upper Income,Oberes Einkommen
apps/erpnext/erpnext/support/doctype/issue/issue.py +58,My Issues,Meine Fragen
-DocType: BOM Item,BOM Item,Stücklistenartikel
+DocType: BOM Item,BOM Item,Stücklisten-Artikel
DocType: Appraisal,For Employee,Für Mitarbeiter
DocType: Company,Default Values,Standardwerte
apps/erpnext/erpnext/accounts/doctype/payment_tool/payment_tool.js +189,Row {0}: Payment amount can not be negative,Zeile {0}: Zahlungsbetrag kann nicht negativ sein
@@ -1425,11 +1425,11 @@
apps/erpnext/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py +56,None of the items have any change in quantity or value.,Keiner der Einzelteile irgendein Änderung bei Mengen oder Kosten.
DocType: Warranty Claim,Warranty Claim,Garantieantrag
,Lead Details,Interessent-Details
-DocType: Authorization Rule,Approving User,Genehmigen Benutzer
+DocType: Authorization Rule,Approving User,Genehmigender Benutzer
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/operations.py +36,Forging,Fälschung
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/operations.py +125,Plating,Überzug
DocType: Purchase Invoice,End date of current invoice's period,Ende der laufenden Rechnungsperiode
-DocType: Pricing Rule,Applicable For,Anwendbar
+DocType: Pricing Rule,Applicable For,Anwendbar für
apps/erpnext/erpnext/stock/doctype/item/item.py +342,Item Template cannot have stock or Open Sales/Purchase/Production Orders.,Artikel-Template kann nicht auf Lager oder Open Vertrieb / Einkauf / Fertigungsaufträge.
DocType: Bank Reconciliation,From Date,Von Datum
DocType: Backup Manager,Validate,Prüfen
@@ -1456,7 +1456,7 @@
DocType: Journal Entry,View Details,Details anschauen
apps/erpnext/erpnext/config/support.py +43,Single unit of an Item.,Einzeleinheit eines Artikels.
apps/erpnext/erpnext/accounts/doctype/sales_invoice/sales_invoice.py +164,Time Log Batch {0} must be 'Submitted',"Zeitprotokollstapel {0} muss ""eingereicht"" werden"
-DocType: Accounts Settings,Make Accounting Entry For Every Stock Movement,Machen Accounting Eintrag für jede Lagerbewegung
+DocType: Accounts Settings,Make Accounting Entry For Every Stock Movement,Eine Buchung für jede Lagerbewegung anlegen
DocType: Leave Allocation,Total Leaves Allocated,Insgesamt zugewiesene Urlaubstage
apps/erpnext/erpnext/accounts/doctype/sales_invoice/sales_invoice.py +329,Warehouse required at Row No {0},Warehouse bei Row Keine erforderlich {0}
DocType: Employee,Date Of Retirement,Zeitpunkt der Pensionierung
@@ -1524,8 +1524,8 @@
DocType: Stock Reconciliation Item,Leave blank if no change,"Leer lassen, wenn keine Änderung"
apps/erpnext/erpnext/selling/doctype/sales_order/sales_order_list.js +17,To Deliver and Bill,Zu liefern und Bill
apps/erpnext/erpnext/config/manufacturing.py +24,Time Logs for manufacturing.,Zeit Logs für die Fertigung.
-DocType: Item,Apply Warehouse-wise Reorder Level,Übernehmen Lagerweise Meldebestand
-apps/erpnext/erpnext/manufacturing/doctype/bom/bom.py +430,BOM {0} must be submitted,Stückliste {0} einzureichen
+DocType: Item,Apply Warehouse-wise Reorder Level,Anwenden des lagerartigen Meldebestands
+apps/erpnext/erpnext/manufacturing/doctype/bom/bom.py +430,BOM {0} must be submitted,Stückliste {0} muss vorliegen
DocType: Authorization Control,Authorization Control,Berechtigungskontrolle
apps/erpnext/erpnext/config/projects.py +23,Time Log for tasks.,Zeitprotokoll für Aufgaben.
DocType: Production Order Operation,Actual Time and Cost,Tatsächliche Laufzeit und Kosten
@@ -1556,7 +1556,7 @@
apps/erpnext/erpnext/stock/doctype/packing_slip/packing_slip.py +119,Quantity for Item {0} must be less than {1},Menge Artikel für {0} muss kleiner sein als {1}
DocType: Backup Manager,Never,Nie
,Sales Invoice Trends,Ausgangsrechnung Trends
-DocType: Leave Application,Apply / Approve Leaves,Beurlaubungen anwenden/genehmigen
+DocType: Leave Application,Apply / Approve Leaves,Urlaub eintragen/genehmigen
apps/erpnext/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js +90,Can refer row only if the charge type is 'On Previous Row Amount' or 'Previous Row Total',"Kann sich nur auf diese Zeile beziehen, wenn die Berechnungsart 'bei vorherigem Zeilenbetrag' oder 'bei nachfolgendem Zeilenbetrag' ist"
DocType: Sales Order Item,Delivery Warehouse,Auslieferungslager
DocType: Stock Settings,Allowance Percent,Zulassen Prozent
@@ -1667,7 +1667,7 @@
,Quotation Trends,Angebot Trends
apps/erpnext/erpnext/accounts/doctype/pricing_rule/pricing_rule.py +135,Item Group not mentioned in item master for item {0},Im Artikelstamm für Artikel nicht erwähnt Artikelgruppe {0}
apps/erpnext/erpnext/accounts/doctype/sales_invoice/sales_invoice.py +247,Debit To account must be a Receivable account,Debit Um Konto muss ein Debitorenkonto
-apps/erpnext/erpnext/stock/doctype/item/item.py +162,"As Production Order can be made for this item, it must be a stock item.","Da einen Fertigungsauftrag für diesen Artikel gemacht werden kann, muss dieser Artikel eine Lagerposition sein."
+apps/erpnext/erpnext/stock/doctype/item/item.py +162,"As Production Order can be made for this item, it must be a stock item.","Da ein Fertigungsauftrag für diesen Artikel gemacht werden kann, muss es sich um einen Lagerartikel handeln."
DocType: Shipping Rule Condition,Shipping Amount,Versandbetrag
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/operations.py +139,Joining,Beitritt
DocType: Authorization Rule,Above Value,Wertgrenze wurde überschritten
@@ -1694,7 +1694,7 @@
apps/erpnext/erpnext/hr/doctype/leave_application/leave_application.py +99,The day(s) on which you are applying for leave are holiday. You need not apply for leave.,"Tag(e), auf die Sie Urlaub beantragen, sind Feiertage. Hierfür müssen Sie keinen Urlaub beantragen."
sites/assets/js/desk.min.js +771,and,und
DocType: Leave Block List Allow,Leave Block List Allow,Urlaubssperrenliste zulassen
-apps/erpnext/erpnext/setup/doctype/company/company.py +35,Abbr can not be blank or space,Abbr kann nicht leer oder SPACE sein
+apps/erpnext/erpnext/setup/doctype/company/company.py +35,Abbr can not be blank or space,Abbr kann nicht leer oder Space sein
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/industry_type.py +49,Sports,Sport
apps/erpnext/erpnext/accounts/report/budget_variance_report/budget_variance_report.py +61,Total Actual,Insgesamt Actual
DocType: Stock Entry,"Get valuation rate and available stock at source/target warehouse on mentioned posting date-time. If serialized item, please press this button after entering serial nos.","Bewertungsrate und verfügbaren Lagerbestand an Ursprungs-/Zielwarenlager zum genannten Buchungsdatum/Uhrzeit abrufen. Bei Serienartikel, drücken Sie diese Taste nach der Eingabe der Seriennummern."
@@ -1710,7 +1710,7 @@
apps/erpnext/erpnext/projects/doctype/project/project.js +47,Expense Claims,Spesenabrechnungen
DocType: Email Digest,Support,Support
DocType: Authorization Rule,Approving Role,Genehmigende Rolle
-,BOM Search,Stückliste Suche
+,BOM Search,Stücklisten-Suche
apps/erpnext/erpnext/accounts/report/general_ledger/general_ledger.py +126,Closing (Opening + Totals),Schließen (Öffnungs + Totals)
apps/erpnext/erpnext/shopping_cart/doctype/shopping_cart_settings/shopping_cart_settings.py +85,Please specify currency in Company,Bitte geben Sie Währung in Gesellschaft
DocType: Workstation,Wages per hour,Lohn pro Stunde
@@ -1732,13 +1732,13 @@
apps/erpnext/erpnext/templates/includes/cart.js +100,Hey! Go ahead and add an address,Hey! Gehen Sie voran und fügen Sie eine Adresse
DocType: Quotation,Maintenance User,Mitarbeiter für die Wartung
apps/erpnext/erpnext/manufacturing/doctype/bom/bom.py +144,Cost Updated,Kosten aktualisiert
-apps/erpnext/erpnext/selling/doctype/sales_order/sales_order.js +751,Are you sure you want to UNSTOP,"Sind Sie sicher, dass du nicht aufhören willst?"
+apps/erpnext/erpnext/selling/doctype/sales_order/sales_order.js +751,Are you sure you want to UNSTOP,"Sind Sie sicher, dass Sie WEITERMACHEN wollen?"
DocType: Employee,Date of Birth,Geburtsdatum
apps/erpnext/erpnext/controllers/sales_and_purchase_return.py +77,Item {0} has already been returned,Artikel {0} wurde bereits zurück
DocType: Fiscal Year,**Fiscal Year** represents a Financial Year. All accounting entries and other major transactions are tracked against **Fiscal Year**.,**Geschäftsjahr** steht für ein Geschäftsjahr. Alle Buchungen und anderen großen Transaktionen werden mit dem **Geschäftsjahr** verglichen.
DocType: Opportunity,Customer / Lead Address,Kunden / Interessenten-Adresse
DocType: Production Order Operation,Actual Operation Time,Tatsächliche Betriebszeit
-DocType: Authorization Rule,Applicable To (User),Anwendbar auf (User)
+DocType: Authorization Rule,Applicable To (User),Anwendbar auf (Benutzer)
DocType: Purchase Taxes and Charges,Deduct,Abziehen
apps/erpnext/erpnext/setup/page/setup_wizard/install_fixtures.py +170,Job Description,Tätigkeitsbeschreibung
DocType: Purchase Order Item,Qty as per Stock UOM,Menge nach Lager-ME
@@ -1816,7 +1816,7 @@
DocType: Purchase Invoice Item,Qty,Menge
DocType: Fiscal Year,Companies,Unternehmen
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/industry_type.py +23,Electronics,Elektronik
-DocType: Email Digest,"Balances of Accounts of type ""Bank"" or ""Cash""","Guthaben von Konten vom Typ ""Bank"" oder ""Cash"""
+DocType: Email Digest,"Balances of Accounts of type ""Bank"" or ""Cash""","Kontostände der Konten vom Typ ""Bank"" oder ""Kasse"""
DocType: Shipping Rule,"Specify a list of Territories, for which, this Shipping Rule is valid","Geben Sie eine Liste der Regionen an, für die diese Versandregel gilt"
DocType: Stock Settings,Raise Material Request when stock reaches re-order level,"Materialanfrage erstellen, wenn der Lagerbestand unter einen Wert sinkt"
apps/erpnext/erpnext/support/doctype/maintenance_visit/maintenance_visit.js +18,From Maintenance Schedule,Vom Wartungsplan
@@ -1840,11 +1840,11 @@
DocType: Time Log,To Time,Bis Uhrzeit
apps/erpnext/erpnext/accounts/page/accounts_browser/accounts_browser.js +25,"To add child nodes, explore tree and click on the node under which you want to add more nodes.","Um Unterelemente hinzuzufügen, klicken Sie im Baum auf das Element, unter dem Sie weitere Elemente hinzufügen möchten."
apps/erpnext/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py +96,Credit To account must be a Payable account,Kredit Um Konto muss ein Konto zahlbar sein
-apps/erpnext/erpnext/manufacturing/doctype/bom/bom.py +233,BOM recursion: {0} cannot be parent or child of {2},BOM Rekursion : {0} kann nicht Elternteil oder Kind von {2} sein
+apps/erpnext/erpnext/manufacturing/doctype/bom/bom.py +233,BOM recursion: {0} cannot be parent or child of {2},BOM-Rekursion: {0} kann nicht Elternteil oder Kind von {2} sein
DocType: Production Order Operation,Completed Qty,Abgeschlossene Menge
apps/erpnext/erpnext/accounts/doctype/journal_entry/journal_entry.py +134,"For {0}, only debit accounts can be linked against another credit entry",Für {0} kann nur Debitkonten gegen eine andere Gutschrift verknüpft werden
apps/erpnext/erpnext/stock/get_item_details.py +235,Price List {0} is disabled,Preisliste {0} ist deaktiviert
-DocType: Manufacturing Settings,Allow Overtime,Lassen Sie nach Verlängerung
+DocType: Manufacturing Settings,Allow Overtime,Überstunden zulassen
apps/erpnext/erpnext/controllers/selling_controller.py +254,Sales Order {0} is stopped,Kundenauftrag {0} ist angehalten
DocType: Email Digest,New Leads,Neue Interessenten
DocType: Stock Reconciliation Item,Current Valuation Rate,Aktuelle Bewertung Rate
@@ -1872,7 +1872,7 @@
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/operations.py +26,Compression molding,Formpressen
DocType: Leave Block List Date,Block Date,Datum sperren
DocType: Sales Order,Not Delivered,nicht geliefert
-,Bank Clearance Summary,Zusammenfassung Bankgenehmigung
+,Bank Clearance Summary,Zusammenfassung Bankabwicklungen
apps/erpnext/erpnext/config/setup.py +105,"Create and manage daily, weekly and monthly email digests.","Erstellen und Verwalten von täglichen, wöchentlichen und monatlichen E-Mail Berichten."
apps/erpnext/erpnext/accounts/doctype/pricing_rule/pricing_rule.js +46,Item Code > Item Group > Brand,Artikel-Nr > Artikelgruppe > Marke
DocType: Appraisal Goal,Appraisal Goal,Bewertungsziel
@@ -1902,11 +1902,11 @@
apps/erpnext/erpnext/stock/doctype/packing_slip/packing_slip.js +51,Case No. cannot be 0,Fall Nr. kann nicht 0 sein
DocType: Features Setup,If you have Sales Team and Sale Partners (Channel Partners) they can be tagged and maintain their contribution in the sales activity,"Wenn Sie ein Verkaufsteam und Verkaufspartner (Vertriebskanalpartner) haben, können sie markiert werden und ihren Beitrag zur Umsatztätigkeit behalten"
DocType: Item,Show a slideshow at the top of the page,Diaschau oben auf der Seite anzeigen
-DocType: Item,"Allow in Sales Order of type ""Service""",Lassen Sie in Kundenauftrag vom Typ "Service"
+DocType: Item,"Allow in Sales Order of type ""Service""","Kundenbestellungen des Typs ""Service"" zulassen"
apps/erpnext/erpnext/setup/doctype/company/company.py +77,Stores,Shops
DocType: Time Log,Projects Manager,Projekte Verantwortlicher
DocType: Serial No,Delivery Time,Lieferzeit
-apps/erpnext/erpnext/accounts/report/accounts_payable/accounts_payable.js +27,Ageing Based On,Altern basiert auf
+apps/erpnext/erpnext/accounts/report/accounts_payable/accounts_payable.js +27,Ageing Based On,Alterung basiert auf
DocType: Item,End of Life,Lebensdauer
apps/erpnext/erpnext/setup/page/setup_wizard/install_fixtures.py +41,Travel,Reise
DocType: Leave Block List,Allow Users,Benutzer zulassen
@@ -1919,7 +1919,7 @@
DocType: BOM,"Specify the operations, operating cost and give a unique Operation no to your operations.","Geben Sie die Vorgänge, Betriebskosten an und geben einen einzigartige Betriebs-Nr für Ihren Betrieb an."
DocType: Purchase Invoice,Price List Currency,Preislistenwährung
DocType: Naming Series,User must always select,Benutzer muss immer auswählen
-DocType: Stock Settings,Allow Negative Stock,Negatives Inventar zulassen
+DocType: Stock Settings,Allow Negative Stock,Negativen Lagerbestand zulassen
DocType: Installation Note,Installation Note,Installationshinweis
apps/erpnext/erpnext/setup/page/setup_wizard/setup_wizard.js +541,Add Taxes,Steuern hinzufügen
,Financial Analytics,Finanzielle Analyse
@@ -1931,7 +1931,7 @@
DocType: System Settings,In Hours,In Stunden
DocType: Process Payroll,Create Salary Slip,Gehaltsabrechnung erstellen
apps/erpnext/erpnext/accounts/report/bank_reconciliation_statement/bank_reconciliation_statement.py +44,Expected balance as per bank,erwartetet Kontostand laut Bank
-apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/operations.py +114,Buffing,Buffing
+apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/operations.py +114,Buffing,Polieren
apps/erpnext/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py +158,Source of Funds (Liabilities),Mittelherkunft ( Passiva)
apps/erpnext/erpnext/stock/doctype/stock_entry/stock_entry.py +354,Quantity in row {0} ({1}) must be same as manufactured quantity {2},Menge in Zeile {0} ( {1}) muss die gleiche sein wie hergestellte Menge {2}
DocType: Appraisal,Employee,Mitarbeiter
@@ -1963,9 +1963,9 @@
DocType: Maintenance Schedule Detail,Maintenance Schedule Detail,Wartungsplandetail
DocType: Quality Inspection Reading,Reading 9,Ablesung 9
DocType: Supplier,Is Frozen,Ist Gefroren
-DocType: Buying Settings,Buying Settings,Einkaufs Einstellungen
+DocType: Buying Settings,Buying Settings,Einkaufs-Einstellungen
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/operations.py +121,Mass finishing,Gleitschleifen
-DocType: Stock Entry Detail,BOM No. for a Finished Good Item,Stücklistennr. für einen fertigen Artikel
+DocType: Stock Entry Detail,BOM No. for a Finished Good Item,Stücklisten-Nr. für einen fertigen Artikel
DocType: Upload Attendance,Attendance To Date,Teilnahme bis Datum
apps/erpnext/erpnext/config/selling.py +158,Setup incoming server for sales email id. (e.g. sales@example.com),Posteingangsserver für den Vertrieb E-Mail-Adresse einrichten. (z.B. sales@example.com)
DocType: Warranty Claim,Raised By,Gemeldet von
@@ -1984,7 +1984,7 @@
apps/erpnext/erpnext/manufacturing/doctype/bom/bom.py +209,Raw Materials cannot be blank.,Rohstoffe darf nicht leer sein.
DocType: Newsletter,Test,Test
apps/erpnext/erpnext/stock/doctype/item/item.py +216,"As there are existing stock transactions for this item, \
- you can not change the values of 'Has Serial No', 'Has Batch No', 'Is Stock Item' and 'Valuation Method'","Da es bestehenden Aktiengeschäfte über diesen Artikel, \ können Sie die Werte von nicht ändern "Hat Seriennummer", "Hat Batch No", "Ist Lizenz Artikel" und "Bewertungsmethode '"
+ you can not change the values of 'Has Serial No', 'Has Batch No', 'Is Stock Item' and 'Valuation Method'","Da es bestehende Lagerbewegungen für diesen Artikel gibt, \ können Sie die Werte von ""Hat Seriennummer"", ""Hat Losnummer"", ""Ist Lagerartikel"" und ""Bewertungsmethode"" nicht ändern"
apps/erpnext/erpnext/manufacturing/doctype/bom/bom.js +92,You can not change rate if BOM mentioned agianst any item,Sie können den Tarif nicht ändern solange die Stückliste Artikel enthält
DocType: Employee,Previous Work Experience,Vorherige Berufserfahrung
DocType: Stock Entry,For Quantity,Für Menge
@@ -2023,7 +2023,7 @@
DocType: Stock Entry,Purpose,Zweck
DocType: Item,Will also apply for variants unless overrridden,"Wird auch auf Varianten angewendet, sofern nicht aufgehoben"
DocType: Purchase Invoice,Advances,Vorschüsse
-apps/erpnext/erpnext/setup/doctype/authorization_rule/authorization_rule.py +32,Approving User cannot be same as user the rule is Applicable To,Genehmigen Benutzer kann nicht dieselbe sein wie Benutzer die Regel ist anwendbar auf
+apps/erpnext/erpnext/setup/doctype/authorization_rule/authorization_rule.py +32,Approving User cannot be same as user the rule is Applicable To,"Genehmigender Benutzer kann nicht derselbe sein wie der Benutzer, der die Regel anwendet"
DocType: SMS Log,No of Requested SMS,Anzahl angeforderter SMS
DocType: Campaign,Campaign-.####,Kampagne-.####
apps/erpnext/erpnext/buying/doctype/purchase_order/purchase_order.js +480,Make Invoice,Rechnung erstellen
@@ -2036,7 +2036,7 @@
DocType: SMS Settings,"Enter static url parameters here (Eg. sender=ERPNext, username=ERPNext, password=1234 etc.)","Geben Sie hier statische URL-Parameter ein (z. B. Absender=ERPNext, Benutzername=ERPNext, Passwort=1234 usw.)"
apps/erpnext/erpnext/accounts/utils.py +39,{0} {1} not in any active Fiscal Year. For more details check {2}.,"{0} {1} ist in keinem aktiven Geschäftsjahr. Für weitere Details, bitte {2} prüfen."
apps/erpnext/erpnext/setup/page/setup_wizard/default_website.py +26,This is an example website auto-generated from ERPNext,"Dies ist eine Beispiel-Website, von ERPNext automatisch generiert"
-apps/erpnext/erpnext/accounts/report/accounts_payable/accounts_payable.js +37,Ageing Range 1,Ageing Bereich 1
+apps/erpnext/erpnext/accounts/report/accounts_payable/accounts_payable.js +37,Ageing Range 1,Alterung Bereich 1
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/operations.py +109,Photochemical machining,Photochemische Bearbeitung
DocType: Purchase Taxes and Charges Template,"Standard tax template that can be applied to all Purchase Transactions. This template can contain list of tax heads and also other expense heads like ""Shipping"", ""Insurance"", ""Handling"" etc.
@@ -2216,7 +2216,7 @@
DocType: Stock Settings,Default Valuation Method,Standard-Bewertungsmethode
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/operations.py +126,Polishing,Polieren
DocType: Production Order Operation,Planned Start Time,Geplante Startzeit
-apps/erpnext/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py +51,Allocated,Zugeteilte
+apps/erpnext/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py +51,Allocated,Zugewiesen
apps/erpnext/erpnext/config/accounts.py +63,Close Balance Sheet and book Profit or Loss.,Bilanz schliessen und Gewinn und Verlust buchen.
DocType: Currency Exchange,Specify Exchange Rate to convert one currency into another,Geben Sie den Wechselkurs zum Umrechnen einer Währung in eine andere an
apps/erpnext/erpnext/selling/doctype/sales_order/sales_order.py +135,Quotation {0} is cancelled,Angebot {0} wird abgebrochen
@@ -2267,12 +2267,12 @@
apps/erpnext/erpnext/controllers/stock_controller.py +173,Expense / Difference account ({0}) must be a 'Profit or Loss' account,"Aufwand / Differenz-Konto ({0}) muss ein ""Gewinn oder Verlust""-Konto sein"
DocType: Account,Accounts User,Rechnungswesen Benutzer
DocType: Purchase Invoice,"Check if recurring invoice, uncheck to stop recurring or put proper End Date","Aktivieren, wenn dies eine wiederkehrende Rechnung ist, deaktivieren, damit es keine wiederkehrende Rechnung mehr ist oder ein gültiges Enddatum angeben."
-apps/erpnext/erpnext/hr/doctype/attendance/attendance.py +18,Attendance for employee {0} is already marked,Die Teilnahme für Mitarbeiter {0} ist bereits markiert
+apps/erpnext/erpnext/hr/doctype/attendance/attendance.py +18,Attendance for employee {0} is already marked,Anwesenheit von Mitarbeiter {0} ist bereits markiert
DocType: Packing Slip,If more than one package of the same type (for print),Wenn mehr als ein Paket von der gleichen Art (für den Druck)
apps/erpnext/erpnext/utilities/doctype/rename_tool/rename_tool.py +38,Maximum {0} rows allowed,Maximum {0} Zeilen erlaubt
DocType: C-Form Invoice Detail,Net Total,Nettosumme
DocType: Bin,FCFS Rate,FCFS-Rate
-apps/erpnext/erpnext/accounts/page/pos/pos.js +15,Billing (Sales Invoice),Verkauf (Ausgangsrechnung)
+apps/erpnext/erpnext/accounts/page/pos/pos.js +15,Billing (Sales Invoice),Abrechnung (Ausgangsrechnung)
DocType: Payment Reconciliation Invoice,Outstanding Amount,Ausstehender Betrag
DocType: Project Task,Working,Arbeit
DocType: Stock Ledger Entry,Stock Queue (FIFO),Bestands-Warteschlange (FIFO)
@@ -2283,7 +2283,7 @@
DocType: BOM Item,Scrap %,Ausschuss %
apps/erpnext/erpnext/stock/doctype/landed_cost_voucher/landed_cost_voucher.js +38,"Charges will be distributed proportionately based on item qty or amount, as per your selection","Die Kosten werden anteilig verteilt auf Teil Stück oder Menge basieren, wie pro Ihre Wahl"
DocType: Maintenance Visit,Purposes,Zweck
-apps/erpnext/erpnext/controllers/sales_and_purchase_return.py +89,Atleast one item should be entered with negative quantity in return document,Atleast ein Einzelteil sollte mit negativer Menge in Rück Dokument eingegeben werden
+apps/erpnext/erpnext/controllers/sales_and_purchase_return.py +89,Atleast one item should be entered with negative quantity in return document,Mindestens ein Artikel sollte mit negativer Menge in das Rückgabedokument eingegeben werden
apps/erpnext/erpnext/manufacturing/doctype/workstation/workstation.py +67,"Operation {0} longer than any available working hours in workstation {1}, break down the operation into multiple operations","Operation {0} länger als alle verfügbaren Arbeitszeiten in Workstation {1}, brechen den Vorgang in mehrere Operationen"
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/operations.py +133,Electrochemical machining,Elektrochemische Bearbeitung
,Requested,Angeforderte
@@ -2319,7 +2319,7 @@
DocType: Sales Invoice,Customer Address,Kundenadresse
apps/frappe/frappe/desk/query_report.py +136,Total,Gesamt
DocType: Backup Manager,System for managing Backups,System zur Verwaltung von Backups
-DocType: Purchase Invoice,Apply Additional Discount On,Es gelten zusätzliche Discount On
+DocType: Purchase Invoice,Apply Additional Discount On,Zusätzlichen Nachlass gewähren auf
DocType: Account,Root Type,root- Typ
apps/erpnext/erpnext/controllers/sales_and_purchase_return.py +79,Row # {0}: Cannot return more than {1} for Item {2},Row # {0}: Kann nicht mehr als {1} zurück zur Artikel {2}
apps/erpnext/erpnext/accounts/page/financial_analytics/financial_analytics.js +52,Plot,Grundstück
@@ -2378,7 +2378,7 @@
apps/erpnext/erpnext/stock/doctype/serial_no/serial_no.py +292,Serial No {0} created,Seriennummer {0} erstellt
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/operations.py +124,Vibratory finishing,Gleitschleifen
DocType: Item Customer Detail,"For the convenience of customers, these codes can be used in print formats like Invoices and Delivery Notes","Um es den Kunden zu erleichtern, können diese Codes in Druckformaten wie Rechnungen und Lieferscheinen verwendet werden"
-DocType: Journal Entry Account,Against Purchase Order,Vor Bestellung
+DocType: Journal Entry Account,Against Purchase Order,Gegen Bestellung
DocType: Employee,You can enter any date manually,Sie können jedes Datum manuell eingeben
DocType: Sales Invoice,Advertisement,Anzeige
apps/erpnext/erpnext/setup/page/setup_wizard/install_fixtures.py +165,Probationary Period,Probezeit
@@ -2454,7 +2454,7 @@
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/operations.py +107,Abrasive jet machining,Schleifmittelstrahlbearbeitung
DocType: Stock Settings,Freeze Stock Entries,Lagerbestandseinträge einfrieren
DocType: Website Settings,Website Settings,Website-Einstellungen
-DocType: Activity Cost,Billing Rate,Billing Rate
+DocType: Activity Cost,Billing Rate,Berechnungssatz
,Qty to Deliver,Menge zu liefern
DocType: Monthly Distribution Percentage,Month,Monat
,Stock Analytics,Bestandsanalyse
@@ -2490,7 +2490,7 @@
DocType: Employee Education,School/University,Schule/Universität
DocType: Sales Invoice Item,Available Qty at Warehouse,Verfügbarer Lagerbestand
,Billed Amount,Rechnungsbetrag
-DocType: Bank Reconciliation,Bank Reconciliation,Kontenabstimmung
+DocType: Bank Reconciliation,Bank Reconciliation,Kontenabgleich
apps/erpnext/erpnext/templates/includes/footer/footer_extension.html +9,Get Updates,Holen Sie sich Updates
DocType: Purchase Invoice,Total Amount To Pay,Fälliger Gesamtbetrag
apps/erpnext/erpnext/stock/doctype/material_request/material_request.py +174,Material Request {0} is cancelled or stopped,Materialanforderung {0} wird abgebrochen oder gestoppt
@@ -2501,7 +2501,7 @@
DocType: Sales Order,Fully Delivered,Komplett geliefert
DocType: Lead,Lower Income,Niedrigeres Einkommen
DocType: Period Closing Voucher,"The account head under Liability, in which Profit/Loss will be booked","Das Hauptkonto unter Verbindlichkeit, in das Gewinn/Verlust verbucht werden"
-DocType: Payment Tool,Against Vouchers,Gegen Gutscheine
+DocType: Payment Tool,Against Vouchers,Gegen Belege
apps/erpnext/erpnext/accounts/page/accounts_browser/accounts_browser.js +23,Quick Help,Schnellinfo
apps/erpnext/erpnext/stock/doctype/stock_entry/stock_entry.py +169,Source and target warehouse cannot be same for row {0},Quell- und Ziel-Lager kann nicht gleich sein für die Zeile {0}
DocType: Features Setup,Sales Extras,Verkauf Extras
@@ -2531,11 +2531,11 @@
apps/erpnext/erpnext/stock/doctype/manage_variants/manage_variants.py +164,Item Variants {0} renamed,Artikelvarianten {0} umbenannt
apps/erpnext/erpnext/hr/doctype/salary_structure/salary_structure.js +15,Make Salary Slip,Gehaltsabrechnung erstellen
apps/erpnext/erpnext/manufacturing/doctype/production_order/production_order.js +85,Unstop,aufmachen
-apps/erpnext/erpnext/manufacturing/doctype/bom/bom.js +18,Browse BOM,Durchsuchen BOM
+apps/erpnext/erpnext/manufacturing/doctype/bom/bom.js +18,Browse BOM,Stückliste durchsuchen
apps/erpnext/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py +175,Secured Loans,Secured Loans
apps/erpnext/erpnext/utilities/doctype/rename_tool/rename_tool.py +49,Ignored:,Ignoriert:
apps/erpnext/erpnext/shopping_cart/__init__.py +68,{0} cannot be purchased using Shopping Cart,{0} kann nicht mit Warenkorb erworben werden
-apps/erpnext/erpnext/setup/page/setup_wizard/data/sample_home_page.html +3,Awesome Products,besondere Produkte
+apps/erpnext/erpnext/setup/page/setup_wizard/data/sample_home_page.html +3,Awesome Products,Eindrucksvolle Produkte
apps/erpnext/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py +189,Opening Balance Equity,Eröffnungsbilanz Eigenkapital
apps/erpnext/erpnext/hr/doctype/leave_application/leave_application.py +80,Cannot approve leave as you are not authorized to approve leaves on Block Dates,"Diese Abwesenheit kann nicht genehmigt werden, da Sie nicht über die Berechtigung zur Genehmigung von Block-Abwesenheiten verfügen."
DocType: Appraisal,Appraisal,Bewertung
@@ -2546,19 +2546,19 @@
DocType: Hub Settings,Seller Email,Verkäufer per E-Mail
DocType: Project,Total Purchase Cost (via Purchase Invoice),Gesamten Anschaffungskosten (via Einkaufsrechnung)
DocType: Workstation Working Hour,Start Time,Startzeit
-DocType: Item Price,Bulk Import Help,Bulk Import Help
+DocType: Item Price,Bulk Import Help,Massen-Import Hilfe
apps/erpnext/erpnext/manufacturing/doctype/production_order/production_order.js +185,Select Quantity,Wählen Sie Menge
DocType: Sales Taxes and Charges Template,"Specify a list of Territories, for which, this Taxes Master is valid","Geben Sie eine Liste der Regionen an, für die dieser Steuerstamm gilt"
-apps/erpnext/erpnext/setup/doctype/authorization_rule/authorization_rule.py +34,Approving Role cannot be same as role the rule is Applicable To,Genehmigen Rolle kann nicht dieselbe sein wie die Rolle der Regel ist anwendbar auf
+apps/erpnext/erpnext/setup/doctype/authorization_rule/authorization_rule.py +34,Approving Role cannot be same as role the rule is Applicable To,Genehmigende Rolle kann nicht dieselbe sein wie die Rolle Die Regel ist anwendbar auf
apps/erpnext/erpnext/setup/doctype/email_digest/email_digest.js +41,Message Sent,Nachricht gesendet
DocType: Production Plan Sales Order,SO Date,SO-Datum
-apps/erpnext/erpnext/stock/doctype/manage_variants/manage_variants.py +77,Attribute value {0} does not exist in Item Attribute Master.,Attribut Wert {0} nicht in Artikel vorhanden Attribut Meister.
+apps/erpnext/erpnext/stock/doctype/manage_variants/manage_variants.py +77,Attribute value {0} does not exist in Item Attribute Master.,Attributwert {0} existiert nicht in Attributevorlage des Artikels.
DocType: Sales Invoice,Rate at which Price list currency is converted to customer's base currency,"Kurs, zu dem die Preislistenwährung in die Basiswährung des Kunden umgerechnet wird"
DocType: Purchase Invoice Item,Net Amount (Company Currency),Nettobetrag (Gesellschaft Währung)
DocType: BOM Operation,Hour Rate,Stundensatz
DocType: Stock Settings,Item Naming By,Artikelbenennung nach
apps/erpnext/erpnext/selling/doctype/sales_order/sales_order.js +637,From Quotation,von Angebot
-apps/erpnext/erpnext/accounts/doctype/period_closing_voucher/period_closing_voucher.py +35,Another Period Closing Entry {0} has been made after {1},Eine weitere Periode Schluss Eintrag {0} wurde nach gemacht worden {1}
+apps/erpnext/erpnext/accounts/doctype/period_closing_voucher/period_closing_voucher.py +35,Another Period Closing Entry {0} has been made after {1},Ein weiterer Perioden-Schlusseintrag {0} wurde nach {1} erstellt
DocType: Production Order,Material Transferred for Manufacturing,Material zur Herstellung von Übertragene
apps/erpnext/erpnext/accounts/report/general_ledger/general_ledger.py +25,Account {0} does not exists,Konto {0} existiert nicht
DocType: Purchase Receipt Item,Purchase Order Item No,Lieferatenauftrag Artikel-Nr.
@@ -2607,7 +2607,7 @@
DocType: Issue,Opening Date,Öffnungsdatum
DocType: Journal Entry,Remark,Bemerkung
DocType: Purchase Receipt Item,Rate and Amount,Kurs und Menge
-apps/erpnext/erpnext/accounts/doctype/cost_center/cost_center.py +41,"Budget cannot be assigned against {0}, as it's not an Expense account","Budget kann nicht gegen {0} zugewiesen werden, da es nicht ein Aufwandskonto"
+apps/erpnext/erpnext/accounts/doctype/cost_center/cost_center.py +41,"Budget cannot be assigned against {0}, as it's not an Expense account","Budget kann nicht gegen {0} zugewiesen werden, da es nicht ein Aufwandskonto ist"
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/operations.py +94,Boring,Langweilig
apps/erpnext/erpnext/accounts/doctype/sales_invoice/sales_invoice.js +667,From Sales Order,Aus Kundenauftrag
DocType: Blog Category,Parent Website Route,Eltern- Webseite Routen
@@ -2618,7 +2618,7 @@
apps/erpnext/erpnext/accounts/report/payment_period_based_on_invoice_date/payment_period_based_on_invoice_date.py +52,Against Invoice Posting Date,Gegen Rechnung mit Buchungsdatum
DocType: Purchase Receipt Item,Landed Cost Voucher Amount,Einstandspreis Gutscheinbetrag
DocType: Time Log,Batched for Billing,Für Abrechnung gebündelt
-apps/erpnext/erpnext/config/accounts.py +23,Bills raised by Suppliers.,Rechnungen an Lieferanten
+apps/erpnext/erpnext/config/accounts.py +23,Bills raised by Suppliers.,Rechnungen von Lieferanten
DocType: POS Profile,Write Off Account,"Abschreibung, Konto"
sites/assets/js/erpnext.min.js +24,Discount Amount,Rabattbetrag
DocType: Purchase Invoice,Return Against Purchase Invoice,Rückgabe Against Einkaufsrechnung
@@ -2628,7 +2628,7 @@
apps/erpnext/erpnext/stock/report/bom_search/bom_search.js +26,Item 4,Punkt 4
DocType: Journal Entry Account,Journal Entry Account,Journal Entry Konto
DocType: Shopping Cart Settings,Quotation Series,Angebotsserie
-apps/erpnext/erpnext/setup/doctype/item_group/item_group.py +51,"An item exists with same name ({0}), please change the item group name or rename the item","Ein Element mit dem gleichen Namen existiert ({0} ), ändern Sie bitte das Einzelgruppennamen oder den Artikel umzubenennen"
+apps/erpnext/erpnext/setup/doctype/item_group/item_group.py +51,"An item exists with same name ({0}), please change the item group name or rename the item",Ein Artikel mit dem gleichen Namen existiert bereits ({0} ). Ändern Sie bitte den Namen der Artikelgruppe oder benennen SIe den Artikel um
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/operations.py +81,Hot metal gas forming,Roheisen Gas bilden
DocType: Sales Order Item,Sales Order Date,Kundenauftrag Datum
DocType: Sales Invoice Item,Delivered Qty,Gelieferte Menge
@@ -2649,7 +2649,7 @@
DocType: Newsletter,Newsletter List,Newsletter-Liste
DocType: Process Payroll,Check if you want to send salary slip in mail to each employee while submitting salary slip,"Aktivieren, wenn Sie die Gehaltsabrechnung per Post an jeden Mitarbeiter senden möchten."
DocType: Lead,Address Desc,Adresszusatz
-apps/erpnext/erpnext/accounts/doctype/pricing_rule/pricing_rule.py +33,Atleast one of the Selling or Buying must be selected,Mindestens eines aus Vertrieb oder Einkauf muss ausgewählt werden
+apps/erpnext/erpnext/accounts/doctype/pricing_rule/pricing_rule.py +33,Atleast one of the Selling or Buying must be selected,Mindestens ein Eintrag aus Vertrieb oder Einkauf muss ausgewählt werden
apps/erpnext/erpnext/stock/doctype/item/item.js +195,"Variants can not be created manually, add item attributes in the template item","Varianten können nicht manuell erstellt werden, fügen Sie Artikel Attribute in der Vorlage Artikel"
apps/erpnext/erpnext/config/manufacturing.py +34,Where manufacturing operations are carried.,Wo Herstellungsoperationen durchgeführt.
DocType: Page,All,Alle
@@ -2696,7 +2696,7 @@
DocType: Expense Claim,Task,Aufgabe
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/operations.py +56,Shaving,Rasieren
DocType: Purchase Taxes and Charges,Reference Row #,Referenz Row #
-apps/erpnext/erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.py +74,Batch number is mandatory for Item {0},Chargennummer ist für Artikel {0}
+apps/erpnext/erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.py +74,Batch number is mandatory for Item {0},Bündelnummer ist zwingend für Artikel {0}
apps/erpnext/erpnext/setup/doctype/sales_person/sales_person.js +14,This is a root sales person and cannot be edited.,Dies ist ein Stamm-Verkäufer und kann daher nicht editiert werden.
,Stock Ledger,Lagerbuch
DocType: Salary Slip Deduction,Salary Slip Deduction,Gehaltsabrechnung Abzug
@@ -2725,7 +2725,7 @@
DocType: Features Setup,"Discount Fields will be available in Purchase Order, Purchase Receipt, Purchase Invoice","Rabattfelder stehen in Lieferatenauftrag, Eingangslieferschein und in der Eingangsrechnung zur Verfügung"
DocType: Report,Report Type,Berichtstyp
apps/frappe/frappe/core/doctype/user/user.js +134,Loading,Ladevorgang läuft
-DocType: BOM Replace Tool,BOM Replace Tool,Stücklisten-Ersetzungstool
+DocType: BOM Replace Tool,BOM Replace Tool,Stücklisten-Austauschwerkzeug
apps/erpnext/erpnext/config/setup.py +37,Country wise default Address Templates,landesspezifische Standardadressvorlagen
apps/erpnext/erpnext/accounts/party.py +220,Due / Reference Date cannot be after {0},Aufgrund / Referenzdatum kann nicht nach {0} sein
apps/erpnext/erpnext/config/setup.py +51,Data Import and Export,Daten Import und Export
@@ -2756,7 +2756,7 @@
DocType: Hub Settings,Publish Availability,Veröffentlichen Verfügbarkeit
apps/erpnext/erpnext/hr/doctype/employee/employee.py +105,Date of Birth cannot be greater than today.,Geburtsdatum kann nicht größer sein als heute.
,Stock Ageing,Abschreibungen
-DocType: Purchase Receipt,Automatically updated from BOM table,Automatisch von BOM Tabelle aktualisiert
+DocType: Purchase Receipt,Automatically updated from BOM table,Automatisch aus der Stückliste aktualisiert
apps/erpnext/erpnext/controllers/accounts_controller.py +184,{0} '{1}' is disabled,{0} '{1}' ist deaktiviert
apps/erpnext/erpnext/crm/doctype/opportunity/opportunity_list.js +13,Set as Open,Als öffnen
DocType: Notification Control,Send automatic emails to Contacts on Submitting transactions.,Beim Einreichen von Transaktionen automatische E-Mails an Kontakte senden.
@@ -2775,7 +2775,7 @@
apps/erpnext/erpnext/setup/page/setup_wizard/setup_wizard.js +511,Add Users,Benutzer hinzufügen
DocType: Pricing Rule,Item Group,Artikelgruppe
DocType: Task,Actual Start Date (via Time Logs),Tatsächliches Start-Datum (über Zeitprotokoll)
-DocType: Stock Reconciliation Item,Before reconciliation,Vor der Versöhnung
+DocType: Stock Reconciliation Item,Before reconciliation,Vor Ausgleich
apps/erpnext/erpnext/support/doctype/maintenance_visit/maintenance_visit.py +12,To {0},{0}
DocType: Purchase Invoice,Taxes and Charges Added (Company Currency),Steuern und Gebühren hinzugefügt (Unternehmenswährung)
apps/erpnext/erpnext/stock/doctype/item/item.py +192,Item Tax Row {0} must have account of type Tax or Income or Expense or Chargeable,Artikel Tax Row {0} muss wegen Art oder Steuerertrag oder-aufwand oder Kostenpflichtige haben
@@ -2806,7 +2806,7 @@
DocType: Manage Variants Item,Manage Variants Item,Verwalten Varianten Artikel
DocType: Newsletter,A Lead with this email id should exist,Eine Verkaufschance mit dieser E-Mail muss existieren
DocType: Stock Entry,From BOM,Von BOM
-DocType: Time Log,Billing Rate (per hour),Billing Rate (pro Stunde)
+DocType: Time Log,Billing Rate (per hour),Abrechnungssatz (pro Stunde)
apps/erpnext/erpnext/setup/page/setup_wizard/install_fixtures.py +34,Basic,Grundlagen
apps/erpnext/erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.py +93,Stock transactions before {0} are frozen,Aktiengeschäfte vor {0} werden eingefroren
apps/erpnext/erpnext/support/doctype/maintenance_schedule/maintenance_schedule.py +226,Please click on 'Generate Schedule',"Bitte klicken Sie auf ""Zeitplan generieren"""
@@ -2879,8 +2879,8 @@
apps/erpnext/erpnext/setup/page/setup_wizard/setup_wizard.js +542,"List your tax heads (e.g. VAT, Customs etc; they should have unique names) and their standard rates. This will create a standard template, which you can edit and add more later.","Listen Sie Ihre Steuerköpfe (zB VAT, Gewohnheits etc, sollten sie eindeutige Namen haben) und ihre Standard-Tarife. Dies wird eine Standardvorlage, die Sie bearbeiten und später mehr erstellen können."
apps/erpnext/erpnext/stock/doctype/serial_no/serial_no.py +244,Serial Nos Required for Serialized Item {0},Seriennummern sind erforderlich für den Artikel mit Seriennummer {0}
DocType: Journal Entry,Bank Entry,Bankeintrag
-DocType: Authorization Rule,Applicable To (Designation),Geltend für (Bestimmung)
-DocType: Blog Post,Blog Post,Blog-Post
+DocType: Authorization Rule,Applicable To (Designation),Anwendbar auf (Bestimmung)
+DocType: Blog Post,Blog Post,Blog-Eintrag
apps/erpnext/erpnext/templates/generators/item.html +35,Add to Cart,In den Warenkorb
apps/erpnext/erpnext/accounts/report/gross_profit/gross_profit.js +28,Group By,Gruppieren nach
apps/erpnext/erpnext/config/accounts.py +138,Enable / disable currencies.,Aktivieren / Deaktivieren der Währungen.
@@ -2888,7 +2888,7 @@
apps/erpnext/erpnext/controllers/trends.py +19,Total(Amt),Gesamt (Amt)
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/industry_type.py +25,Entertainment & Leisure,Unterhaltung & Freizeit
DocType: Purchase Order,The date on which recurring order will be stop,Das Datum an dem die sich Wiederholende Bestellung endet
-apps/erpnext/erpnext/stock/doctype/item_attribute/item_attribute.py +36,Attribute Value {0} cannot be removed from {1} as Item Variants exist with this Attribute.,"Attribut Wert {0} kann nicht entfernt werden, {1} als Einzelteil-Varianten gibt es mit diesem Attribut."
+apps/erpnext/erpnext/stock/doctype/item_attribute/item_attribute.py +36,Attribute Value {0} cannot be removed from {1} as Item Variants exist with this Attribute.,"Attributwert {0} kann nicht von {1} entfernt werden, da es Artikelvarianten mit diesem Attribut gibt."
DocType: Quality Inspection,Item Serial No,Artikel-Seriennummer
apps/erpnext/erpnext/controllers/status_updater.py +116,{0} must be reduced by {1} or you should increase overflow tolerance,"{0} muss um {1} reduziert werden, oder Sie sollten die Überlauftoleranz erhöhen"
apps/erpnext/erpnext/hr/report/monthly_attendance_sheet/monthly_attendance_sheet.py +56,Total Present,Insgesamt präsentieren
@@ -2900,7 +2900,7 @@
apps/erpnext/erpnext/stock/doctype/serial_no/serial_no.py +30,New Serial No cannot have Warehouse. Warehouse must be set by Stock Entry or Purchase Receipt,Neue Seriennummer kann kann kein Lager haben. Lagerangaben müssen durch Lagerzugang oder Eingangslieferschein erstellt werden
DocType: Lead,Lead Type,Lead-Typ
apps/erpnext/erpnext/crm/doctype/opportunity/opportunity.js +77,Create Quotation,Angebot erstellen
-apps/erpnext/erpnext/stock/doctype/delivery_note/delivery_note.py +292,All these items have already been invoiced,Alle dieser Artikel sind bereits in Rechnung gestellt
+apps/erpnext/erpnext/stock/doctype/delivery_note/delivery_note.py +292,All these items have already been invoiced,Alle diese Artikel sind bereits in Rechnung gestellt
apps/erpnext/erpnext/setup/doctype/authorization_control/authorization_control.py +37,Can be approved by {0},Kann von {0} genehmigt werden
DocType: Shipping Rule,Shipping Rule Conditions,Versandbedingungen
DocType: BOM Replace Tool,The new BOM after replacement,Die neue Stückliste nach dem Austausch
@@ -2933,7 +2933,7 @@
DocType: Customer Group,Customer Group Name,Kundengruppenname
apps/erpnext/erpnext/accounts/doctype/sales_invoice/sales_invoice.py +353,Please remove this Invoice {0} from C-Form {1},Bitte löschen Sie das Rechnungs {0} von C-Form {1}
DocType: Leave Control Panel,Please select Carry Forward if you also want to include previous fiscal year's balance leaves to this fiscal year,"Klicken Sie auf 'Übertragen', wenn Sie auch die Bilanz des vorangegangenen Geschäftsjahrs in dieses Geschäftsjahr einbeziehen möchten."
-DocType: GL Entry,Against Voucher Type,Gegen Gutscheintyp
+DocType: GL Entry,Against Voucher Type,Gegen Belegart
DocType: Manage Variants Item,Attributes,Attribute
DocType: Packing Slip,Get Items,Artikel aufrufen
apps/erpnext/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py +178,Please enter Write Off Account,Bitte geben Sie Write Off Konto
@@ -2956,7 +2956,7 @@
DocType: Appraisal Template,Appraisal Template Title,Bewertungsvorlage Titel
apps/erpnext/erpnext/setup/page/setup_wizard/setup_wizard.py +419,Commercial,Handels-
DocType: Cost Center,Distribution Id,Verteilungs-ID
-apps/erpnext/erpnext/setup/page/setup_wizard/data/sample_home_page.html +14,Awesome Services,besondere Dienstleistungen
+apps/erpnext/erpnext/setup/page/setup_wizard/data/sample_home_page.html +14,Awesome Services,Eindrucksvolle Dienstleistungen
apps/erpnext/erpnext/config/manufacturing.py +29,All Products or Services.,Alle Produkte oder Dienstleistungen.
DocType: Purchase Invoice,Supplier Address,Lieferantenadresse
DocType: Contact Us Settings,Address Line 2,Adresszeile 2
@@ -2975,7 +2975,7 @@
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/operations.py +31,Laminating,Kaschieren
DocType: Item Reorder,Transfer,Übertragung
apps/erpnext/erpnext/stock/doctype/material_request/material_request.js +568,Fetch exploded BOM (including sub-assemblies),Abruch der Stücklisteneinträge (einschließlich der Unterelemente)
-DocType: Authorization Rule,Applicable To (Employee),Geltend für (Mitarbeiter)
+DocType: Authorization Rule,Applicable To (Employee),Anwendbar für (Mitarbeiter)
apps/erpnext/erpnext/controllers/accounts_controller.py +88,Due Date is mandatory,Fälligkeitsdatum ist obligatorisch
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/operations.py +142,Sintering,Sinter
DocType: Journal Entry,Pay To / Recd From,Zahlen an/Zurücktreten von
@@ -3023,7 +3023,7 @@
apps/erpnext/erpnext/controllers/stock_controller.py +176,{0} {1}: Cost Center is mandatory for Item {2},{0} {1}: Kostenstelle ist obligatorisch für Artikel {2}
apps/erpnext/erpnext/accounts/doctype/gl_entry/gl_entry.py +76,Account {0} is inactive,Konto {0} ist inaktiv
DocType: GL Entry,Is Advance,Ist Voraus
-apps/erpnext/erpnext/hr/doctype/upload_attendance/upload_attendance.js +21,Attendance From Date and Attendance To Date is mandatory,Die Teilnahme von Datum bis Datum und Teilnahme ist obligatorisch
+apps/erpnext/erpnext/hr/doctype/upload_attendance/upload_attendance.js +21,Attendance From Date and Attendance To Date is mandatory,Anwesenheit ab Datum und Anwesenheit bis Datum sind zwingend
apps/erpnext/erpnext/controllers/buying_controller.py +131,Please enter 'Is Subcontracted' as Yes or No,"Bitte geben Sie Untervergabe"""" als Ja oder Nein ein"""
DocType: Sales Team,Contact No.,Kontakt Nr.
apps/erpnext/erpnext/accounts/doctype/gl_entry/gl_entry.py +64,'Profit and Loss' type account {0} not allowed in Opening Entry,"""Gewinn und Verlust"" Konto {0} kann nicht im Eröffnungseintrag sein"
@@ -3142,7 +3142,7 @@
DocType: Quotation,In Words will be visible once you save the Quotation.,"In Worten wird sichtbar, sobald Sie den Kostenvoranschlag speichern."
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/operations.py +67,Ironing,Bügeln
apps/erpnext/erpnext/accounts/doctype/journal_entry/journal_entry.py +235,{0} {1} is stopped,{0} {1} ist beendet
-apps/erpnext/erpnext/stock/doctype/item/item.py +204,Barcode {0} already used in Item {1},Barcode {0} wird bereits in Artikel {1} verwendet
+apps/erpnext/erpnext/stock/doctype/item/item.py +204,Barcode {0} already used in Item {1},Barcode {0} wird bereits für Artikel {1} verwendet
DocType: Lead,Add to calendar on this date,An diesem Tag zum Kalender hinzufügen
apps/erpnext/erpnext/config/selling.py +132,Rules for adding shipping costs.,Regeln für das Hinzufügen von Versandkosten.
apps/erpnext/erpnext/support/doctype/warranty_claim/warranty_claim.py +20,Customer is required,"Kunde ist verpflichtet,"
@@ -3155,7 +3155,7 @@
DocType: Employee,Personal Email,Persönliche E-Mail
apps/erpnext/erpnext/selling/report/territory_target_variance_item_group_wise/territory_target_variance_item_group_wise.py +58,Total Variance,Gesamtvarianz
DocType: Accounts Settings,"If enabled, the system will post accounting entries for inventory automatically.","Wenn aktiviert, veröffentlicht das System Bestandsbuchungseinträge automatisch."
-apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/industry_type.py +14,Brokerage,Provision
+apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/industry_type.py +14,Brokerage,Maklerprovision
DocType: Production Order Operation,"in Minutes
Updated via 'Time Log'","in Minuten
über 'Time Log' aktualisiert"
@@ -3166,7 +3166,7 @@
DocType: Hub Settings,Name Token,Name Token
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/operations.py +105,Planing,Hobeln
apps/erpnext/erpnext/setup/page/setup_wizard/setup_wizard.py +166,Standard Selling,Standard-Vertrieb
-apps/erpnext/erpnext/stock/doctype/stock_entry/stock_entry.py +138,Atleast one warehouse is mandatory,Mindestens ein Warenlager ist obligatorisch
+apps/erpnext/erpnext/stock/doctype/stock_entry/stock_entry.py +138,Atleast one warehouse is mandatory,Mindestens ein Warenlager ist zwingend
DocType: Serial No,Out of Warranty,Außerhalb der Garantie
DocType: BOM Replace Tool,Replace,Ersetzen
apps/erpnext/erpnext/accounts/doctype/journal_entry/journal_entry.py +280,{0} against Sales Invoice {1},{0} gegen Sales Invoice {1}
@@ -3180,7 +3180,7 @@
apps/erpnext/erpnext/config/learn.py +165,Human Resource,Personal
DocType: Payment Reconciliation Payment,Payment Reconciliation Payment,Payment Zahlungs Versöhnung
apps/erpnext/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py +36,Tax Assets,Steueransprüche
-DocType: BOM Item,BOM No,Stücklistennr.
+DocType: BOM Item,BOM No,Stücklisten-Nr.
DocType: Contact Us Settings,Pincode,Pincode
apps/erpnext/erpnext/accounts/doctype/journal_entry/journal_entry.py +146,Journal Entry {0} does not have account {1} or already matched against other voucher,Journal Entry {0} nicht Konto {1} oder bereits gegen andere Gutschein abgestimmt
DocType: Item,Moving Average,Gleitender Mittelwert
@@ -3241,7 +3241,7 @@
DocType: Purchase Receipt,Return Against Purchase Receipt,Rückspiel gegen Kaufbeleg
apps/erpnext/erpnext/buying/doctype/purchase_order/purchase_order_list.js +16,To Bill,Bill
apps/erpnext/erpnext/setup/page/setup_wizard/install_fixtures.py +61,Piecework,Akkordarbeit
-apps/erpnext/erpnext/accounts/report/gross_profit/gross_profit.py +64,Avg. Buying Rate,Rel. Buying Rate
+apps/erpnext/erpnext/accounts/report/gross_profit/gross_profit.py +64,Avg. Buying Rate,Durchschnittlicher Einkaufspreis
DocType: Task,Actual Time (in Hours),Tatsächliche Zeit (in Stunden)
DocType: Employee,History In Company,Historie im Unternehmen
DocType: Address,Shipping,Versand
@@ -3301,7 +3301,7 @@
apps/erpnext/erpnext/accounts/doctype/account/account.py +71,"Account balance already in Debit, you are not allowed to set 'Balance Must Be' as 'Credit'","Konto bereits im Soll, es ist nicht mehr möglich das Konto als Habenkonto festzulegen"
apps/erpnext/erpnext/setup/page/setup_wizard/install_fixtures.py +76,Quality Management,Qualitätsmanagement
DocType: Production Planning Tool,Filter based on customer,Filtern nach Kunden
-DocType: Payment Tool Detail,Against Voucher No,Vor Gutschein Nein
+DocType: Payment Tool Detail,Against Voucher No,Gegen Beleg Nr.
apps/erpnext/erpnext/buying/doctype/purchase_common/purchase_common.py +45,Please enter quantity for Item {0},Bitte geben Sie Menge für Artikel {0}
apps/erpnext/erpnext/selling/doctype/sales_order/sales_order.py +35,Warning: Sales Order {0} already exists against same Purchase Order number,Warnung: Kundenauftrag {0} existiert bereits für die gleiche Lieferatenauftragsnummer
DocType: Employee External Work History,Employee External Work History,Mitarbeiter externe Berufserfahrung
@@ -3321,7 +3321,7 @@
DocType: Page,Yes,Ja
DocType: Employee,Encashment Date,Inkassodatum
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/operations.py +73,Electroforming,Galvanotechnik
-apps/erpnext/erpnext/accounts/doctype/payment_tool/payment_tool.js +148,"Against Voucher Type must be one of Purchase Order, Purchase Invoice or Journal Entry","Vor Gutschein Typ muss einer Bestellung, Einkaufsrechnung oder einen Journaleintrag sein"
+apps/erpnext/erpnext/accounts/doctype/payment_tool/payment_tool.js +148,"Against Voucher Type must be one of Purchase Order, Purchase Invoice or Journal Entry","Gegen Belegart muss entweder eine Bestellung, eine Einkaufsrechnung oder ein Journaleintrag sein"
DocType: Account,Stock Adjustment,Auf Einstellung
apps/erpnext/erpnext/projects/doctype/activity_cost/activity_cost.py +34,Default Activity Cost exists for Activity Type - {0},Default Activity Cost besteht für Leistungsart - {0}
DocType: Production Order,Planned Operating Cost,Geplante Betriebskosten
@@ -3335,7 +3335,7 @@
For Example: If you are selling Laptops and Backpacks separately and have a special price if the customer buys both, then the Laptop + Backpack will be a new Product Bundle Item.
-Note: BOM = Bill of Materials","Aggregate Gruppe von ** ** Objekte in einen anderen Artikel ** **. Dies ist nützlich, wenn Sie eine gewisse Bündelung ** ** Artikel in ein Paket und Sie Lager der verpackten Gegenstände ** ** und nicht den Gesamt ** Einzelteil zu erhalten **. Das Paket ** ** Artikel wird ", ist Stock Item" als "No" und "Ist Verkaufsartikel", wie "Ja". Zum Beispiel: Wenn Sie den Verkauf Laptops und Rucksäcke getrennt und haben einen Sonderpreis, wenn der Kunde kauft beide, dann der Laptop-Rucksack + wird eine neue Produkt Bundle Titel. Hinweis: BOM = Bill of Materials"
+Note: BOM = Bill of Materials","Fassen Sie eine Gruppe von Artikeln zu einem neuen Artikel zusammen. Dies ist nützlich, wenn Sie bestimmte Artikel zu einem Paket bündeln und einen Bestand an Artikel-Bündeln erhalten und nicht einen Bestand der einzelnen Artikel. Das Artikel-Bündel erhält für das Attribut ""Ist Lagerartikel"" den Wert ""Nein"" und für das Attribut ""Ist Verkaufsartikel"" den Wert ""Ja"". Beispiel: Wenn Sie Laptops und Tragetaschen getrennt verkaufen und einen bestimmten Preis anbieten, wenn der Kunde beides zusammen kauft, dann wird der Laptop mit der Tasche zusammen ein neuer Bündel-Artikel. Anmerkung: BOM = Stückliste"
apps/erpnext/erpnext/selling/doctype/installation_note/installation_note.py +44,Serial No is mandatory for Item {0},Seriennummer ist für Artikel {0} obligatorisch.
DocType: Variant Attribute,Attribute,Attribut
sites/assets/js/desk.min.js +622,Created By,Erstellt von
@@ -3384,7 +3384,7 @@
DocType: Leave Block List,Applies to Company,Gilt für Unternehmen
apps/erpnext/erpnext/manufacturing/doctype/production_order/production_order.py +161,Cannot cancel because submitted Stock Entry {0} exists,"Kann nicht kündigen, weil eingereichten Lizenz Eintrag {0} existiert"
DocType: Purchase Invoice,In Words,In Worten
-apps/erpnext/erpnext/hr/doctype/employee/employee.py +208,Today is {0}'s birthday!,Heute ist {0} Geburtstag!
+apps/erpnext/erpnext/hr/doctype/employee/employee.py +208,Today is {0}'s birthday!,Heute hat {0} Geburtstag!
DocType: Production Planning Tool,Material Request For Warehouse,Materialanforderung für Warenlager
DocType: Sales Order Item,For Production,Für Produktion
apps/erpnext/erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.py +99,Please enter sales order in the above table,Bitte geben Sie den Kundenauftrag in der obigen Tabelle an
@@ -3398,7 +3398,7 @@
apps/erpnext/erpnext/config/support.py +54,Setup incoming server for support email id. (e.g. support@example.com),Posteingangsserver für die Support E-Mail-Adresse einrichten. (z.B. support@example.com)
apps/erpnext/erpnext/stock/report/stock_projected_qty/stock_projected_qty.py +35,Shortage Qty,Mangel Menge
DocType: Salary Slip,Salary Slip,Gehaltsabrechnung
-apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/operations.py +115,Burnishing,Brünieren
+apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/operations.py +115,Burnishing,Polieren
DocType: Features Setup,To enable <b>Point of Sale</b> view,Um <b> Point of Sale </ b> Ansicht aktivieren
apps/erpnext/erpnext/stock/report/stock_balance/stock_balance.py +54,'To Date' is required,"""bis Datum"" ist erforderlich,"
DocType: Packing Slip,"Generate packing slips for packages to be delivered. Used to notify package number, package contents and its weight.","Packzettel für zu liefernde Pakete generieren. Wird verwendet, um Paketnummer, Packungsinhalt und das Gewicht zu dokumentieren."
@@ -3434,7 +3434,7 @@
DocType: Expense Claim Detail,Expense Date,Datum der Aufwendung
DocType: Item,Max Discount (%),Maximaler Rabatt (%)
apps/erpnext/erpnext/selling/report/customers_not_buying_since_long_time/customers_not_buying_since_long_time.py +70,Last Order Amount,Letzter Bestellbetrag
-apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/operations.py +160,Blasting,Sprengung
+apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/operations.py +160,Blasting,Abstrahlen
DocType: Company,Warn,Warnen
apps/erpnext/erpnext/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.py +82,Item valuation updated,Artikel- Bewertung aktualisiert
DocType: Appraisal,"Any other remarks, noteworthy effort that should go in the records.","Sonstige Anmerkungen, bemerkenswert, Anstrengungen, die in den Datensätzen gehen sollten."
@@ -3448,7 +3448,7 @@
DocType: Appraisal,Appraisal Template,Bewertungsvorlage
DocType: Communication,Email,E-Mail
DocType: Item Group,Item Classification,Artikelklassifizierung
-apps/erpnext/erpnext/setup/page/setup_wizard/install_fixtures.py +89,Business Development Manager,Business Development Manager
+apps/erpnext/erpnext/setup/page/setup_wizard/install_fixtures.py +89,Business Development Manager,Leiter der kaufmännischen Abteilung
DocType: Maintenance Visit Purpose,Maintenance Visit Purpose,Wartungsbesuch Zweck
apps/erpnext/erpnext/accounts/report/budget_variance_report/budget_variance_report.js +15,Period,Zeit
,General Ledger,Hauptbuch
@@ -3459,7 +3459,7 @@
apps/erpnext/erpnext/accounts/doctype/payment_tool/payment_tool.js +217,Please select {0} first,Bitte wählen Sie {0} zuerst
DocType: Features Setup,To get Item Group in details table,So rufen sie eine Artikelgruppe in die Detailtabelle ab
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/operations.py +66,Redrawing,Neuzeichnen
-apps/erpnext/erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.py +111,Batch {0} of Item {1} has expired.,Batch {0} von {1} Artikel ist abgelaufen.
+apps/erpnext/erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.py +111,Batch {0} of Item {1} has expired.,Bündelung {0} von Artikel {1} ist abgelaufen.
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/operations.py +119,Etching,Ätzen
apps/erpnext/erpnext/setup/page/setup_wizard/install_fixtures.py +60,Commission,Provision
DocType: Address Template,"<h4>Default Template</h4>
@@ -3499,7 +3499,7 @@
apps/erpnext/erpnext/config/accounts.py +58,Match non-linked Invoices and Payments.,Zuordnung nicht verknüpfter Rechnungen und Zahlungen.
DocType: Email Digest,New Purchase Orders,Neue Lieferatenaufträge
apps/erpnext/erpnext/accounts/doctype/cost_center/cost_center.py +25,Root cannot have a parent cost center,Stamm darf keine übergeordnete Kostenstelle haben
-DocType: Sales Invoice,C-Form Applicable,C-Formular Anwendbar
+DocType: Sales Invoice,C-Form Applicable,C-Formular geeignet
DocType: UOM Conversion Detail,UOM Conversion Detail,ME-Umrechnung Detail
apps/erpnext/erpnext/setup/page/setup_wizard/setup_wizard.js +496,Keep it web friendly 900px (w) by 100px (h),halten Sie es Webfreundlich - 900px (breit) bei 100px (hoch)
apps/erpnext/erpnext/manufacturing/doctype/production_order/production_order.py +329,Production Order cannot be raised against a Item Template,Fertigungsauftrag kann nicht gegen eine Artikel-Vorlage angehoben werden
@@ -3508,14 +3508,14 @@
DocType: Warranty Claim,Resolved By,Gelöst von
DocType: Appraisal,Start Date,Startdatum
sites/assets/js/desk.min.js +598,Value,Wert
-apps/erpnext/erpnext/config/hr.py +130,Allocate leaves for a period.,Jahresurlaube für einen Zeitraum.
+apps/erpnext/erpnext/config/hr.py +130,Allocate leaves for a period.,Urlaube für einen Zeitraum zuordnen.
apps/erpnext/erpnext/crm/doctype/newsletter/newsletter.py +138,Click here to verify,"Klicken Sie hier um zu überprüfen,"
apps/erpnext/erpnext/accounts/doctype/account/account.py +39,Account {0}: You can not assign itself as parent account,Konto {0}: Sie können dieses Konto sich selbst nicht als Eltern-Konto zuweisen
DocType: Purchase Invoice Item,Price List Rate,Preislistenrate
apps/erpnext/erpnext/stock/doctype/serial_no/serial_no.py +166,Delivered Serial No {0} cannot be deleted,Geliefert Seriennummer {0} kann nicht gelöscht werden
DocType: Item,"Show ""In Stock"" or ""Not in Stock"" based on stock available in this warehouse.","Details zu ""Auf Lager"" oder ""Nicht auf Lager"" entsprechend des in diesem Warenlager verfügbaren Bestands anzeigen."
apps/erpnext/erpnext/config/manufacturing.py +13,Bill of Materials (BOM),Stückliste (SL)
-DocType: Item,Average time taken by the supplier to deliver,"Durchschnittliche Zeit von dem Lieferanten getroffen werden, um zu liefern"
+DocType: Item,Average time taken by the supplier to deliver,Durchschnittliche Lieferzeit des Lieferanten
DocType: Time Log,Hours,Stunden
DocType: Project,Expected Start Date,Voraussichtliches Startdatum
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/operations.py +37,Rolling,Rollend
@@ -3523,7 +3523,7 @@
apps/erpnext/erpnext/stock/doctype/serial_no/serial_no.py +168,"Cannot delete Serial No {0} in stock. First remove from stock, then delete.","Kann Seriennummer {0} in Lager nicht löschen. Zuerst aus dem Lager entfernen, dann löschen."
apps/erpnext/erpnext/stock/doctype/landed_cost_voucher/landed_cost_voucher.js +41,Remove item if charges is not applicable to that item,"Artikel entfernen, wenn keine Gebühren angerechtet werden können"
DocType: Backup Manager,Dropbox Access Allowed,Dropbox-Zugang erlaubt
-DocType: Backup Manager,Weekly,Wöchentlich
+DocType: Backup Manager,Weekly,wöchentlich
DocType: SMS Settings,Eg. smsgateway.com/api/send_sms.cgi,z. B. smsgateway.com/api/send_sms.cgi
DocType: Maintenance Visit,Fully Completed,Vollständig abgeschlossen
apps/erpnext/erpnext/projects/doctype/project/project_list.js +6,{0}% Complete,{0}% abgeschlossen
@@ -3557,13 +3557,13 @@
apps/erpnext/erpnext/hr/doctype/leave_application/leave_application.py +68,Warning: Leave application contains following block dates,Achtung: Die Urlaubsanwendung enthält die folgenden gesperrten Daten
apps/erpnext/erpnext/stock/doctype/delivery_note/delivery_note.py +223,Sales Invoice {0} has already been submitted,Ausgangsrechnung {0} wurde bereits eingereicht
apps/erpnext/erpnext/projects/report/project_wise_stock_tracking/project_wise_stock_tracking.py +30,Completion Date,Abschlussdatum
-DocType: Purchase Invoice Item,Amount (Company Currency),Betrag (Unternehmenswährung)
+DocType: Purchase Invoice Item,Amount (Company Currency),Betrag (in Unternehmenswährung)
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/operations.py +9,Die casting,Druckguss
DocType: Email Alert,Reference Date,Referenzdatum
apps/erpnext/erpnext/config/hr.py +105,Organization unit (department) master.,Firmeneinheit (Abteilung) Vorlage.
apps/erpnext/erpnext/setup/doctype/sms_settings/sms_settings.py +25,Please enter valid mobile nos,Bitte geben Sie eine gültige Mobil nos
DocType: Email Digest,User Specific,Benutzerspezifisch
-DocType: Budget Detail,Budget Detail,Budgetdetail
+DocType: Budget Detail,Budget Detail,Budget-Detail
apps/erpnext/erpnext/selling/doctype/sms_center/sms_center.py +75,Please enter message before sending,Bitte geben Sie eine Nachricht vor dem Versenden ein
DocType: Communication,Status,Status
apps/erpnext/erpnext/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.py +36,Stock UOM updated for Item {0},Auf ME zum Artikel aktualisiert {0}
@@ -3603,13 +3603,13 @@
apps/erpnext/erpnext/accounts/doctype/account/account.py +63,You are not authorized to set Frozen value,Sie haben keine Berechtigung eingefrorene Werte zu setzen
DocType: Payment Reconciliation,Get Unreconciled Entries,Holen Nicht abgestimmte Einträge
DocType: Purchase Receipt,Date on which lorry started from supplier warehouse,Abfahrtdatum des LKW aus dem Lieferantenlager
-DocType: Cost Center,Budgets,Haushalte
+DocType: Cost Center,Budgets,Budgets
apps/frappe/frappe/core/page/modules_setup/modules_setup.py +11,Updated,Aktualisiert
DocType: Employee,Emergency Contact Details,Notfallkontaktdaten
apps/erpnext/erpnext/setup/page/setup_wizard/setup_wizard.js +396,What does it do?,Unternehmenszweck?
DocType: Delivery Note,To Warehouse,An Warenlager
apps/erpnext/erpnext/accounts/doctype/cost_center/cost_center.py +45,Account {0} has been entered more than once for fiscal year {1},Konto {0} wurde mehr als einmal für das Geschäftsjahr {1} erfasst
-,Average Commission Rate,Durchschnittliche Kommission bewerten
+,Average Commission Rate,Durchschnittlicher Provisionssatz
apps/erpnext/erpnext/stock/doctype/item/item.py +165,'Has Serial No' can not be 'Yes' for non-stock item,"""hat Seriennummer"" kann nicht ""Ja"" sein bei Nicht-Lagerartikeln"
apps/erpnext/erpnext/hr/doctype/attendance/attendance.py +34,Attendance can not be marked for future dates,Die Teilnahme kann nicht für zukünftige Termine markiert werden
DocType: Pricing Rule,Pricing Rule Help,Pricing Rule Hilfe
@@ -3623,7 +3623,7 @@
apps/erpnext/erpnext/support/doctype/maintenance_visit/maintenance_visit.js +30,From Warranty Claim,Von der Garantieantrags
DocType: Stock Entry,Default Source Warehouse,Standard-Ursprungswarenlager
DocType: Item,Customer Code,Kunden-Nr.
-apps/erpnext/erpnext/hr/doctype/employee/employee.py +207,Birthday Reminder for {0},Birthday Reminder für {0}
+apps/erpnext/erpnext/hr/doctype/employee/employee.py +207,Birthday Reminder for {0},Geburtstagserinnerung für {0}
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/operations.py +162,Lapping,Plätschern
apps/erpnext/erpnext/selling/report/customers_not_buying_since_long_time/customers_not_buying_since_long_time.js +8,Days Since Last Order,Tage seit dem letzten Auftrag
DocType: Buying Settings,Naming Series,Benennungsreihenfolge
@@ -3643,7 +3643,7 @@
apps/erpnext/erpnext/config/projects.py +13,Project activity / task.,Projektaktivität/Aufgabe
apps/erpnext/erpnext/config/hr.py +65,Generate Salary Slips,Gehaltsabrechnungen generieren
apps/frappe/frappe/utils/__init__.py +87,{0} is not a valid email id,{0} ist keine gültige E-Mail -ID
-apps/erpnext/erpnext/accounts/doctype/pricing_rule/pricing_rule.py +41,"Buying must be checked, if Applicable For is selected as {0}","Kaufen Sie muss überprüft werden, wenn Anwendbar ist als ausgewählt {0}"
+apps/erpnext/erpnext/accounts/doctype/pricing_rule/pricing_rule.py +41,"Buying must be checked, if Applicable For is selected as {0}","Einkauf muss überprüft werden, wenn Anwendbar auf auf {0} gesetzt wurde"
apps/erpnext/erpnext/setup/doctype/authorization_rule/authorization_rule.py +40,Discount must be less than 100,Discount muss kleiner als 100 sein
DocType: ToDo,Low,Niedrig
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/operations.py +70,Spinning,Spinnen
@@ -3675,8 +3675,8 @@
If series is set and Serial No is not mentioned in transactions, then automatic serial number will be created based on this series. If you always want to explicitly mention Serial Nos for this item. leave this blank.","Beispiel:. ABCD #####
Wenn Serie eingestellt und Seriennummer wird nicht in Geschäften erwähnt, dann automatische Seriennummer wird auf der Grundlage dieser Serie erstellt werden. Wenn Sie wollen immer ausdrücklich erwähnt, mit den Seriennummern zu diesem Artikel. lassen Sie dieses Feld leer."
DocType: Upload Attendance,Upload Attendance,Teilnahme hochladen
-apps/erpnext/erpnext/stock/doctype/stock_entry/stock_entry.js +107,BOM and Manufacturing Quantity are required,Stückliste und Fertigungsmenge benötigt werden
-apps/erpnext/erpnext/accounts/report/accounts_payable/accounts_payable.js +44,Ageing Range 2,Ageing Bereich 2
+apps/erpnext/erpnext/stock/doctype/stock_entry/stock_entry.js +107,BOM and Manufacturing Quantity are required,Stückliste und Fertigungsmenge werden benötigt
+apps/erpnext/erpnext/accounts/report/accounts_payable/accounts_payable.js +44,Ageing Range 2,Alterung Bereich 2
DocType: Journal Entry Account,Amount,Betrag
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/operations.py +146,Riveting,Nieten
apps/erpnext/erpnext/manufacturing/doctype/bom_replace_tool/bom_replace_tool.py +21,BOM replaced,Stückliste ersetzt
@@ -3782,10 +3782,10 @@
apps/erpnext/erpnext/accounts/report/trial_balance/trial_balance.js +56,Show zero values,Nullwerte anzeigen
DocType: BOM,Quantity of item obtained after manufacturing / repacking from given quantities of raw materials,Menge eines Artikels nach der Herstellung / Menge durch Umpacken von bestimmten Mengen an Rohstoffen
DocType: Payment Reconciliation,Receivable / Payable Account,Forderungen / Verbindlichkeiten Konto
-DocType: Delivery Note Item,Against Sales Order Item,Vor Kundenauftragsposition
+DocType: Delivery Note Item,Against Sales Order Item,Gegen Kundenauftrags-Position
DocType: Item,Default Warehouse,Standardwarenlager
DocType: Task,Actual End Date (via Time Logs),Tatsächliches Enddatum (über Zeitprotokoll)
-apps/erpnext/erpnext/accounts/doctype/cost_center/cost_center.py +37,Budget cannot be assigned against Group Account {0},Budget kann nicht gegen Group Account zugeordnet werden {0}
+apps/erpnext/erpnext/accounts/doctype/cost_center/cost_center.py +37,Budget cannot be assigned against Group Account {0},Budget kann nicht gegen das Gruppenkonto {0} zugeordnet werden
apps/erpnext/erpnext/accounts/doctype/cost_center/cost_center.py +23,Please enter parent cost center,Bitte geben Sie Mutterkostenstelle
DocType: Delivery Note,Print Without Amount,Drucken ohne Betrag
apps/erpnext/erpnext/controllers/buying_controller.py +69,Tax Category can not be 'Valuation' or 'Valuation and Total' as all items are non-stock items,"Steuerkategorie kann nicht ""Verbindlichkeit"" oder ""Verbindlichkeit und Summe"", da alle Artikel keine Lagerartikel sind"
@@ -3796,11 +3796,11 @@
DocType: Appraisal,Total Score (Out of 5),Gesamtwertung (von 5)
DocType: Contact Us Settings,State,Land
DocType: Batch,Batch,Stapel
-apps/erpnext/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py +53,Balance,Balance
+apps/erpnext/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py +53,Balance,Saldo
DocType: Project,Total Expense Claim (via Expense Claims),Total Expense Anspruch (über Spesenabrechnungen)
DocType: User,Gender,Geschlecht
DocType: Journal Entry,Debit Note,Lastschrift
-DocType: Stock Entry,As per Stock UOM,Wie pro Lager-ME
+DocType: Stock Entry,As per Stock UOM,Gemäß Lager-Maßeinheit
apps/erpnext/erpnext/stock/doctype/batch/batch_list.js +7,Not Expired,", Nicht abgelaufen ist"
DocType: Journal Entry,Total Debit,Gesamtschuld
apps/erpnext/erpnext/accounts/report/gross_profit/gross_profit.py +70,Sales Person,Verkäufer
@@ -3859,7 +3859,7 @@
DocType: Pricing Rule,Price,Preis
apps/erpnext/erpnext/hr/doctype/salary_slip/salary_slip.py +79,Employee relieved on {0} must be set as 'Left',"freigestellter Angestellter {0} muss als ""entlassen"" eingestellt werden"
DocType: Item,"Selecting ""Yes"" will give a unique identity to each entity of this item which can be viewed in the Serial No master.","Wenn Sie „Ja“ auswählen, wird jeder Einheit dieses Artikels eine eindeutige Identität zugeteilt, die im Seriennummernstamm angezeigt werden kann."
-apps/erpnext/erpnext/hr/doctype/appraisal/appraisal.py +39,Appraisal {0} created for Employee {1} in the given date range,Bewertung {0} für Mitarbeiter erstellt {1} in der angegebenen Datumsbereich
+apps/erpnext/erpnext/hr/doctype/appraisal/appraisal.py +39,Appraisal {0} created for Employee {1} in the given date range,Bewertung {0} für Mitarbeiter {1} im angegebenen Datumsbereich erstellt
DocType: Employee,Education,Bildung
DocType: Selling Settings,Campaign Naming By,Kampagne benannt durch
DocType: Employee,Current Address Is,Aktuelle Adresse
@@ -3903,7 +3903,7 @@
,Monthly Salary Register,Monatsgehalt Register
apps/frappe/frappe/website/template.py +120,Next,weiter
DocType: Warranty Claim,If different than customer address,Wenn anders als Kundenadresse
-DocType: BOM Operation,BOM Operation,Stücklistenvorgang
+DocType: BOM Operation,BOM Operation,Stücklisten-Vorgang
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/operations.py +117,Electropolishing,Elektropolieren
DocType: Purchase Taxes and Charges,On Previous Row Amount,Auf vorherigen Zeilenbetrag
DocType: Email Digest,New Delivery Notes,Neue Lieferscheine
@@ -3945,8 +3945,8 @@
apps/erpnext/erpnext/config/hr.py +145,Block leave applications by department.,Urlaubsanträge pro Abteilung sperren.
DocType: Production Order,Actual Operating Cost,Die tatsächlichen Betriebskosten
apps/erpnext/erpnext/accounts/doctype/account/account.py +55,Root cannot be edited.,Haupt-Konto kann nicht bearbeitet werden.
-apps/erpnext/erpnext/accounts/utils.py +188,Allocated amount can not greater than unadusted amount,Geschätzter Betrag kann nicht größer als unadusted Menge
-DocType: Manufacturing Settings,Allow Production on Holidays,Arbeiten/Produktion auf Reisen zulassen
+apps/erpnext/erpnext/accounts/utils.py +188,Allocated amount can not greater than unadusted amount,Zugewiesene Menge kann nicht größer sein als unbereinigte Menge
+DocType: Manufacturing Settings,Allow Production on Holidays,Fertigung im Urlaub zulassen
DocType: Sales Order,Customer's Purchase Order Date,Kundenauftrag
apps/erpnext/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py +183,Capital Stock,Gezeichnetes Kapital
DocType: Packing Slip,Package Weight Details,Details Paketgewicht
@@ -3957,7 +3957,7 @@
apps/erpnext/erpnext/config/selling.py +121,Terms and Conditions Template,Allgemeine Geschäftsbedingungen Vorlage
DocType: Serial No,Delivery Details,Lieferdetails
apps/erpnext/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py +363,Cost Center is required in row {0} in Taxes table for type {1},Kostenstelle wird in der Zeile erforderlich {0} in Tabelle Steuern für Typ {1}
-DocType: Item,Automatically create Material Request if quantity falls below this level,"Erstellen Sie automatisch Werkstoff anfordern, wenn Quantität unter diesen Wert fällt"
+DocType: Item,Automatically create Material Request if quantity falls below this level,"Automatisch Materialanforderung erstellen, wenn die Menge unter diesen Wert fällt"
,Item-wise Purchase Register,Artikelweises Einkaufsregister
DocType: Batch,Expiry Date,Verfalldatum
,Supplier Addresses and Contacts,Lieferant Adressen und Kontakte
diff --git a/erpnext/translations/fa.csv b/erpnext/translations/fa.csv
index 73ba369..c49b7e9 100644
--- a/erpnext/translations/fa.csv
+++ b/erpnext/translations/fa.csv
@@ -409,7 +409,7 @@
DocType: Accounts Settings,Check Supplier Invoice Number Uniqueness,بررسی تولید کننده فاکتور شماره منحصر به فرد
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/operations.py +30,Thermoforming,ترمو
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/operations.py +65,Slitting,اتاق های برش
-apps/erpnext/erpnext/stock/doctype/packing_slip/packing_slip.js +57,'To Case No.' cannot be less than 'From Case No.','به پرونده شماره' نمی تواند کمتر از 'از شماره مورد'
+apps/erpnext/erpnext/stock/doctype/packing_slip/packing_slip.js +57,'To Case No.' cannot be less than 'From Case No.','به شماره پرونده' نمی تواند کمتر از 'از شماره پرونده' باشد
apps/erpnext/erpnext/setup/page/setup_wizard/install_fixtures.py +104,Non Profit,غیر انتفاعی
apps/erpnext/erpnext/manufacturing/doctype/production_order/production_order_list.js +7,Not Started,شروع نشده
DocType: Lead,Channel Partner,کانال شریک
@@ -2695,7 +2695,7 @@
apps/erpnext/erpnext/hr/doctype/employee/employee.py +105,Date of Birth cannot be greater than today.,تاریخ تولد نمی تواند بیشتر از امروز.
,Stock Ageing,سهام سالمندی
DocType: Purchase Receipt,Automatically updated from BOM table,به صورت خودکار از جدول BOM به روز شده
-apps/erpnext/erpnext/controllers/accounts_controller.py +184,{0} '{1}' is disabled,{0} '{1}' غیر فعال است
+apps/erpnext/erpnext/controllers/accounts_controller.py +184,{0} '{1}' is disabled,{0} '{1}' غیر فعال است
apps/erpnext/erpnext/crm/doctype/opportunity/opportunity_list.js +13,Set as Open,تنظیم به عنوان گسترش
DocType: Notification Control,Send automatic emails to Contacts on Submitting transactions.,ارسال ایمیل خودکار به تماس در معاملات ارائه.
apps/erpnext/erpnext/stock/doctype/stock_entry/stock_entry.py +270,"Row {0}: Qty not avalable in warehouse {1} on {2} {3}.
@@ -2961,7 +2961,7 @@
apps/erpnext/erpnext/hr/doctype/upload_attendance/upload_attendance.js +21,Attendance From Date and Attendance To Date is mandatory,حضور و غیاب حضور و غیاب از تاریخ و به روز الزامی است
apps/erpnext/erpnext/controllers/buying_controller.py +131,Please enter 'Is Subcontracted' as Yes or No,لطفا وارد است واگذار شده به عنوان بله یا نه
DocType: Sales Team,Contact No.,تماس با شماره
-apps/erpnext/erpnext/accounts/doctype/gl_entry/gl_entry.py +64,'Profit and Loss' type account {0} not allowed in Opening Entry,'سود و زیان "نوع حساب {0} در افتتاحیه ورودی مجاز نیست
+apps/erpnext/erpnext/accounts/doctype/gl_entry/gl_entry.py +64,'Profit and Loss' type account {0} not allowed in Opening Entry,'سود و زیان' نوع حساب {0} در افتتاح ورودی مجاز نیست
DocType: Workflow State,Time,زمان
DocType: Features Setup,Sales Discounts,تخفیف فروش
DocType: Hub Settings,Seller Country,فروشنده کشور
@@ -3334,7 +3334,7 @@
DocType: Salary Slip,Salary Slip,لغزش حقوق و دستمزد
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/operations.py +115,Burnishing,چکش
DocType: Features Setup,To enable <b>Point of Sale</b> view,برای فعال کردن <b>نقطه نظر فروش</b>
-apps/erpnext/erpnext/stock/report/stock_balance/stock_balance.py +54,'To Date' is required,'تا روز' مورد نیاز است
+apps/erpnext/erpnext/stock/report/stock_balance/stock_balance.py +54,'To Date' is required,'تا تاریخ' مورد نیاز است
DocType: Packing Slip,"Generate packing slips for packages to be delivered. Used to notify package number, package contents and its weight.",تولید بسته بندی ورقه برای بسته تحویل داده می شود. مورد استفاده به اطلاع تعداد بسته، محتویات بسته و وزن آن است.
DocType: Sales Invoice Item,Sales Order Item,سفارش فروش مورد
DocType: Salary Slip,Payment Days,روز پرداخت
@@ -3680,7 +3680,7 @@
DocType: Purchase Taxes and Charges,On Net Total,در مجموع خالص
apps/erpnext/erpnext/stock/doctype/stock_entry/stock_entry.py +161,Target warehouse in row {0} must be same as Production Order,انبار هدف در ردیف {0} باید به همان ترتیب تولید می شود
apps/erpnext/erpnext/accounts/doctype/payment_tool/payment_tool.py +61,No permission to use Payment Tool,بدون اجازه به استفاده از ابزار پرداخت
-apps/erpnext/erpnext/controllers/recurring_document.py +193,'Notification Email Addresses' not specified for recurring %s,'هشدار از طریق آدرس ایمیل برای دوره ای در محدوده٪ s را مشخص نشده
+apps/erpnext/erpnext/controllers/recurring_document.py +193,'Notification Email Addresses' not specified for recurring %s,'هشدار از طریق آدرس ایمیل' برای دوره ی زمانی محدود %s مشخص نشده است
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/operations.py +85,Milling,فرز
DocType: Company,Round Off Account,دور کردن حساب
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/operations.py +59,Nibbling,پر وعده
diff --git a/erpnext/translations/fr.csv b/erpnext/translations/fr.csv
index 979a90d..385e434 100644
--- a/erpnext/translations/fr.csv
+++ b/erpnext/translations/fr.csv
@@ -75,7 +75,7 @@
DocType: Appraisal Goal,Score (0-5),Score (0-5)
apps/erpnext/erpnext/accounts/doctype/journal_entry/journal_entry.py +204,Row {0}: {1} {2} does not match with {3},Rangée {0}: {1} {2} ne correspond pas à {3}
apps/erpnext/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py +67,Row # {0}:,Row # {0}:
-DocType: Delivery Note,Vehicle No,Aucun véhicule
+DocType: Delivery Note,Vehicle No,No du véhicule
sites/assets/js/erpnext.min.js +53,Please select Price List,S'il vous plaît sélectionnez Liste des Prix
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/operations.py +161,Woodworking,Travail du bois
DocType: Production Order Operation,Work In Progress,Work In Progress
@@ -309,7 +309,7 @@
apps/erpnext/erpnext/manufacturing/doctype/production_order/production_order.py +303,Completed Qty can not be greater than 'Qty to Manufacture',Terminé Quantité ne peut pas être supérieure à «Quantité de Fabrication '
DocType: DocType,Administrator,Administrateur
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/operations.py +135,Laser drilling,perçage laser
-DocType: Stock UOM Replace Utility,New Stock UOM,Bourse de New UDM
+DocType: Stock UOM Replace Utility,New Stock UOM,Nouveau stock UDM
DocType: Period Closing Voucher,Closing Account Head,Fermeture chef Compte
DocType: Shopping Cart Settings,"<a href=""#Sales Browser/Customer Group"">Add / Edit</a>","<a href=""#Sales Browser/Customer Group""> Ajouter / Modifier < / a>"
DocType: Employee,External Work History,Histoire de travail externe
@@ -473,7 +473,7 @@
,Serial No Warranty Expiry,N ° de série expiration de garantie
apps/erpnext/erpnext/stock/doctype/material_request/material_request.js +635,Do you really want to STOP this Material Request?,Voulez-vous vraiment arrêter cette Demande de Matériel ?
apps/erpnext/erpnext/selling/doctype/sales_order/sales_order_list.js +22,To Deliver,A Livrer
-DocType: Purchase Invoice Item,Item,article
+DocType: Purchase Invoice Item,Item,Article
DocType: Journal Entry,Difference (Dr - Cr),Différence (Dr - Cr )
DocType: Account,Profit and Loss,Pertes et profits
apps/erpnext/erpnext/setup/doctype/email_digest/email_digest.py +310,Upcoming Calendar Events (max 10),Prochains événements de calendrier (max 10)
@@ -960,7 +960,7 @@
apps/erpnext/erpnext/accounts/doctype/journal_entry/journal_entry.js +87,Dr,Dr
apps/erpnext/erpnext/config/buying.py +23,Quotations received from Suppliers.,Devis reçus des fournisseurs.
DocType: Journal Entry Account,Against Purchase Invoice,Contre facture d'achat
-apps/erpnext/erpnext/controllers/selling_controller.py +21,To {0} | {1} {2},{0} | {1} {2}
+apps/erpnext/erpnext/controllers/selling_controller.py +21,To {0} | {1} {2},A {0} | {1} {2}
DocType: Time Log Batch,updated via Time Logs,mise à jour via Time Logs
apps/erpnext/erpnext/stock/report/stock_ageing/stock_ageing.py +40,Average Age,âge moyen
apps/erpnext/erpnext/templates/includes/cart.js +60,Go ahead and add something to your cart.,Poursuiver et ajouter quelque chose à votre panier.
@@ -1093,7 +1093,7 @@
apps/erpnext/erpnext/accounts/doctype/gl_entry/gl_entry.py +170,Not authorized to edit frozen Account {0},Message totale (s )
DocType: Journal Entry,Get Outstanding Invoices,Obtenez Factures en souffrance
apps/erpnext/erpnext/manufacturing/doctype/production_order/production_order.py +59,Sales Order {0} is not valid,Company ( pas client ou fournisseur ) maître .
-DocType: Email Digest,New Stock Entries,Entrées Stock nouvelles
+DocType: Email Digest,New Stock Entries,Nouvelle entrée du stock
apps/erpnext/erpnext/setup/doctype/company/company.py +169,"Sorry, companies cannot be merged","Désolé , les entreprises ne peuvent pas être fusionnés"
apps/erpnext/erpnext/setup/page/setup_wizard/install_fixtures.py +145,Small,Petit
DocType: Employee,Employee Number,Numéro d'employé
@@ -1107,7 +1107,7 @@
apps/erpnext/erpnext/selling/report/territory_target_variance_item_group_wise/territory_target_variance_item_group_wise.py +57,Total Achieved,Total obtenu
DocType: Employee,Place of Issue,Lieu d'émission
apps/erpnext/erpnext/setup/page/setup_wizard/install_fixtures.py +59,Contract,contrat
-DocType: Report,Disabled,Handicapé
+DocType: Report,Disabled,Desactivé
apps/erpnext/erpnext/stock/doctype/stock_entry/stock_entry.py +472,UOM coversion factor required for UOM: {0} in Item: {1},Facteur de coversion Emballage requis pour Emballage: {0} dans l'article: {1}
apps/erpnext/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py +83,Indirect Expenses,N ° de série {0} créé
apps/erpnext/erpnext/controllers/selling_controller.py +170,Row {0}: Qty is mandatory,Ligne {0}: Quantité est obligatoire
@@ -1427,7 +1427,7 @@
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/operations.py +36,Forging,Forger
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/operations.py +125,Plating,Placage
DocType: Purchase Invoice,End date of current invoice's period,Date de fin de la période de facturation en cours
-DocType: Pricing Rule,Applicable For,Fixez Logo
+DocType: Pricing Rule,Applicable For,Applicable pour
apps/erpnext/erpnext/stock/doctype/item/item.py +342,Item Template cannot have stock or Open Sales/Purchase/Production Orders.,Un Modèle d'Article ne peut pas avoir de stock ou de Commandes/Bons de Commande/Bons de Production ouverts.
DocType: Bank Reconciliation,From Date,Partir de la date
DocType: Backup Manager,Validate,Valider
@@ -1853,7 +1853,7 @@
DocType: Opportunity,Lost Reason,Raison perdu
apps/erpnext/erpnext/config/accounts.py +68,Create Payment Entries against Orders or Invoices.,Créer des entrées de paiement contre commandes ou factures.
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/operations.py +140,Welding,Soudage
-apps/erpnext/erpnext/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.py +18,New Stock UOM is required,{0} {1} a déjà été soumis
+apps/erpnext/erpnext/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.py +18,New Stock UOM is required,Nouveau stock UDM est requis
DocType: Quality Inspection,Sample Size,Taille de l'échantillon
apps/erpnext/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py +419,All items have already been invoiced,Tous les articles ont déjà été facturés
apps/erpnext/erpnext/stock/doctype/packing_slip/packing_slip.py +47,Please specify a valid 'From Case No.',S'il vous plaît indiquer une valide »De Affaire n '
@@ -1902,7 +1902,7 @@
DocType: Features Setup,If you have Sales Team and Sale Partners (Channel Partners) they can be tagged and maintain their contribution in the sales activity,"Si vous avez équipe de vente et Partenaires Vente (Channel Partners), ils peuvent être marqués et maintenir leur contribution à l'activité commerciale"
DocType: Item,Show a slideshow at the top of the page,Afficher un diaporama en haut de la page
DocType: Item,"Allow in Sales Order of type ""Service""",Permettre à la commande client de type "service"
-apps/erpnext/erpnext/setup/doctype/company/company.py +77,Stores,Livraison Remarque {0} ne doit pas être soumis
+apps/erpnext/erpnext/setup/doctype/company/company.py +77,Stores,Magasins
DocType: Time Log,Projects Manager,Gestionnaire de projets
DocType: Serial No,Delivery Time,L'heure de la livraison
apps/erpnext/erpnext/accounts/report/accounts_payable/accounts_payable.js +27,Ageing Based On,Basé sur le vieillissement
@@ -1926,7 +1926,7 @@
DocType: Address,Subsidiary,Filiale
apps/erpnext/erpnext/setup/doctype/company/company.py +41,"Cannot change company's default currency, because there are existing transactions. Transactions must be cancelled to change the default currency.",Voyage
DocType: Quality Inspection,Purchase Receipt No,Achetez un accusé de réception
-apps/erpnext/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py +30,Earnest Money,S'il vous plaît sélectionner le type de charge de premier
+apps/erpnext/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py +30,Earnest Money,Arrhes
DocType: System Settings,In Hours,Dans Heures
DocType: Process Payroll,Create Salary Slip,Créer bulletin de salaire
apps/erpnext/erpnext/accounts/report/bank_reconciliation_statement/bank_reconciliation_statement.py +44,Expected balance as per bank,L'équilibre attendu que par banque
@@ -2311,7 +2311,7 @@
DocType: Purchase Invoice,Half-yearly,Semestriel
apps/erpnext/erpnext/accounts/report/financial_statements.py +16,Fiscal Year {0} not found.,Exercice {0} introuvable.
DocType: Bank Reconciliation,Get Relevant Entries,Obtenez les entrées pertinentes
-apps/erpnext/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py +300,Accounting Entry for Stock,Entrée Accounting for Stock
+apps/erpnext/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py +300,Accounting Entry for Stock,Entrées comptable pour Stock
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/operations.py +63,Coining,Coining
DocType: Sales Invoice,Sales Team1,Ventes Equipe1
apps/erpnext/erpnext/stock/doctype/item/item.py +267,Item {0} does not exist,Point {0} n'existe pas
@@ -2443,7 +2443,7 @@
DocType: Features Setup,To enable <b>Point of Sale</b> features,Pour permettre <b>Point de Vente</b> fonctionnalités
DocType: Purchase Receipt,LR Date,LR Date
apps/erpnext/erpnext/accounts/page/pos/pos_page.html +4,Select type of transaction,Sélectionner le type de transaction
-DocType: GL Entry,Voucher No,Bon Pas
+DocType: GL Entry,Voucher No,No du bon
DocType: Leave Allocation,Leave Allocation,Laisser Allocation
apps/erpnext/erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.py +389,Material Requests {0} created,Devis {0} de type {1}
apps/erpnext/erpnext/config/selling.py +122,Template of terms or contract.,Modèle de termes ou d'un contrat.
@@ -2675,7 +2675,7 @@
DocType: Delivery Note,Transporter Info,Infos Transporteur
DocType: Purchase Order Item Supplied,Purchase Order Item Supplied,Point de commande fourni
apps/erpnext/erpnext/config/setup.py +27,Letter Heads for print templates.,Journal Bon {0} n'a pas encore compte {1} .
-apps/erpnext/erpnext/config/setup.py +32,Titles for print templates e.g. Proforma Invoice.,Solde négatif dans le lot {0} pour objet {1} à {2} Entrepôt sur {3} {4}
+apps/erpnext/erpnext/config/setup.py +32,Titles for print templates e.g. Proforma Invoice.,Titres pour les modèles d'impression par exemple Facture proforma.
apps/erpnext/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js +140,Valuation type charges can not marked as Inclusive,charges de type d'évaluation ne peuvent pas marqué comme Inclusive
DocType: POS Profile,Update Stock,Mise à jour Stock
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/operations.py +127,Superfinishing,Superfinition
@@ -2694,7 +2694,7 @@
DocType: Sales Invoice Item,Delivery Note Item,Point de Livraison
DocType: Expense Claim,Task,Tâche
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/operations.py +56,Shaving,Rasage
-DocType: Purchase Taxes and Charges,Reference Row #,"Ne peut directement fixer le montant . Pour le type de charge « réelle » , utilisez le champ de taux"
+DocType: Purchase Taxes and Charges,Reference Row #,Ligne de référence #
apps/erpnext/erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.py +74,Batch number is mandatory for Item {0},Le numéro de lot est obligatoire pour objet {0}
apps/erpnext/erpnext/setup/doctype/sales_person/sales_person.js +14,This is a root sales person and cannot be edited.,Il s'agit d'une personne de ventes de racines et ne peut être modifié .
,Stock Ledger,Stock Ledger
@@ -3184,7 +3184,7 @@
apps/erpnext/erpnext/accounts/doctype/journal_entry/journal_entry.py +146,Journal Entry {0} does not have account {1} or already matched against other voucher,Journal entrée {0} n'a pas compte {1} ou déjà en correspondance avec une autre pièce justificative
DocType: Item,Moving Average,Moyenne mobile
DocType: BOM Replace Tool,The BOM which will be replaced,La nomenclature qui sera remplacé
-apps/erpnext/erpnext/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.py +21,New Stock UOM must be different from current stock UOM,S'il vous plaît entrer nos mobiles valides
+apps/erpnext/erpnext/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.py +21,New Stock UOM must be different from current stock UOM,Nouveau stock UDM doit être different de l'actuel stock UDM
DocType: Account,Debit,Débit
apps/erpnext/erpnext/hr/doctype/leave_allocation/leave_allocation.py +29,Leaves must be allocated in multiples of 0.5,"Les feuilles doivent être alloués par multiples de 0,5"
DocType: Production Order,Operation Cost,Coût de l'opération
@@ -3238,7 +3238,7 @@
DocType: DocField,Currency,Monnaie
DocType: Opportunity,Opportunity Date,Date de possibilité
DocType: Purchase Receipt,Return Against Purchase Receipt,Retour contre Reçu d'achat
-apps/erpnext/erpnext/buying/doctype/purchase_order/purchase_order_list.js +16,To Bill,Pour le projet de loi
+apps/erpnext/erpnext/buying/doctype/purchase_order/purchase_order_list.js +16,To Bill,A facturer
apps/erpnext/erpnext/setup/page/setup_wizard/install_fixtures.py +61,Piecework,travail à la pièce
apps/erpnext/erpnext/accounts/report/gross_profit/gross_profit.py +64,Avg. Buying Rate,Moy. Taux d'achat
DocType: Task,Actual Time (in Hours),Temps réel (en heures)
@@ -3771,7 +3771,7 @@
apps/erpnext/erpnext/setup/page/setup_wizard/setup_wizard.js +393,"e.g. ""My Company LLC""","par exemple "" Mon Company LLC """
apps/erpnext/erpnext/setup/page/setup_wizard/install_fixtures.py +173,Notice Period,Période De Préavis
apps/erpnext/erpnext/stock/doctype/purchase_receipt/purchase_receipt.js +516,Make Purchase Return,Assurez Achat retour
-DocType: Bank Reconciliation Detail,Voucher ID,ID Bon
+DocType: Bank Reconciliation Detail,Voucher ID,ID du Bon
apps/erpnext/erpnext/setup/doctype/territory/territory.js +14,This is a root territory and cannot be edited.,C'est un territoire de racine et ne peut être modifié .
DocType: Packing Slip,Gross Weight UOM,Emballage Poids brut
DocType: Email Digest,Receivables / Payables,Créances / dettes
diff --git a/erpnext/translations/hr.csv b/erpnext/translations/hr.csv
index ef920de..40ac551 100644
--- a/erpnext/translations/hr.csv
+++ b/erpnext/translations/hr.csv
@@ -993,7 +993,7 @@
apps/erpnext/erpnext/projects/doctype/time_log_batch/time_log_batch.js +23,This Time Log Batch has been billed.,Ovo Batch Vrijeme Log je naplaćeno.
apps/erpnext/erpnext/crm/doctype/lead/lead.js +32,Create Opportunity,Kreiraj priliku
DocType: Salary Slip,Leave Without Pay,Neplaćeno odsustvo
-DocType: Supplier,Communications,Communications
+DocType: Supplier,Communications,Mailovi
apps/erpnext/erpnext/manufacturing/doctype/production_order/production_order.py +281,Capacity Planning Error,Kapacitet Greška planiranje
DocType: Lead,Consultant,Konzultant
DocType: Salary Slip,Earnings,Zarada
@@ -1194,7 +1194,7 @@
DocType: Purchase Invoice Item,Accounting,Knjigovodstvo
DocType: Features Setup,Features Setup,Značajke postavki
apps/erpnext/erpnext/hr/doctype/job_applicant/job_applicant.js +13,View Offer Letter,Pogledaj Ponuda Pismo
-DocType: Communication,Communication,Komunikacija
+DocType: Communication,Communication,Mail
DocType: Item,Is Service Item,Je usluga
DocType: Activity Cost,Projects,Projekti
apps/erpnext/erpnext/hr/doctype/holiday_list/holiday_list.py +30,Please select Fiscal Year,Odaberite Fiskalna godina
@@ -1218,7 +1218,7 @@
apps/erpnext/erpnext/manufacturing/doctype/production_order/production_order.js +167,Max: {0},Maksimalno: {0}
apps/erpnext/erpnext/projects/report/daily_time_log_summary/daily_time_log_summary.py +16,From Datetime,Od datetime
DocType: Email Digest,For Company,Za tvrtke
-apps/erpnext/erpnext/config/support.py +38,Communication log.,Komunikacija dnevnik.
+apps/erpnext/erpnext/config/support.py +38,Communication log.,Dnevnik mailova
apps/erpnext/erpnext/accounts/report/gross_profit/gross_profit.py +66,Buying Amount,Iznos kupnje
DocType: Sales Invoice,Shipping Address Name,Dostava Adresa Ime
apps/erpnext/erpnext/accounts/doctype/account/account.js +50,Chart of Accounts,Kontnog
@@ -1547,7 +1547,7 @@
DocType: Warranty Claim,Issue Date,Datum izdavanja
DocType: Activity Cost,Activity Cost,Aktivnost troškova
DocType: Purchase Receipt Item Supplied,Consumed Qty,Potrošeno Kol
-apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/industry_type.py +51,Telecommunications,telekomunikacija
+apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/industry_type.py +51,Telecommunications,Telekomunikacije
DocType: Packing Slip,Indicates that the package is a part of this delivery (Only Draft),Ukazuje da je paket je dio ove isporuke (samo nacrti)
DocType: Payment Tool,Make Payment Entry,Napravi ulazno plaćanje
apps/erpnext/erpnext/stock/doctype/packing_slip/packing_slip.py +119,Quantity for Item {0} must be less than {1},Količina za proizvod {0} mora biti manja od {1}
@@ -1990,7 +1990,7 @@
apps/erpnext/erpnext/accounts/doctype/journal_entry/journal_entry.py +217,{0} {1} is not submitted,{0} {1} nije podnesen
apps/erpnext/erpnext/config/stock.py +13,Requests for items.,Zahtjevi za stavke.
DocType: Production Planning Tool,Separate production order will be created for each finished good item.,Poseban proizvodnja kako će biti izrađen za svakog gotovog dobrom stavke.
-DocType: Email Digest,New Communications,Novi komunikacije
+DocType: Email Digest,New Communications,Novi mailovi
DocType: Purchase Invoice,Terms and Conditions1,Odredbe i Conditions1
apps/erpnext/erpnext/setup/page/setup_wizard/setup_wizard_page.html +18,Complete Setup,kompletan Setup
DocType: Accounts Settings,"Accounting entry frozen up to this date, nobody can do / modify entry except role specified below.","Knjiženje zamrznuta do tog datuma, nitko ne može učiniti / mijenjati ulazak, osim uloge naveden u nastavku."
@@ -2083,7 +2083,7 @@
DocType: Email Account,Email Ids,IDS e-pošte
apps/erpnext/erpnext/manufacturing/doctype/production_order/production_order.py +100,Cannot produce more Item {0} than Sales Order quantity {1},Ne može proizvesti više predmeta {0} od prodajnog naloga količina {1}
apps/erpnext/erpnext/buying/doctype/purchase_order/purchase_order_list.js +28,Set as Unstopped,Postavi kao Unstopped
-apps/erpnext/erpnext/accounts/doctype/journal_entry/journal_entry.py +436,Stock Entry {0} is not submitted,Stock Stupanje {0} ne podnosi
+apps/erpnext/erpnext/accounts/doctype/journal_entry/journal_entry.py +436,Stock Entry {0} is not submitted,Međuskladišnica {0} nije potvrđena
DocType: Payment Reconciliation,Bank / Cash Account,Banka / Cash račun
apps/erpnext/erpnext/hr/doctype/leave_application/leave_application.js +43,This Leave Application is pending approval. Only the Leave Approver can update status.,Ova aplikacija Ostavite se čeka odobrenje. Samo Ostavite Odobritelj može ažurirati status.
DocType: Global Defaults,Hide Currency Symbol,Sakrij simbol valute
@@ -2169,7 +2169,7 @@
od SVEUKUPNO ({2})"
DocType: Employee,Relieving Date,Rasterećenje Datum
apps/erpnext/erpnext/accounts/doctype/pricing_rule/pricing_rule.js +12,"Pricing Rule is made to overwrite Price List / define discount percentage, based on some criteria.","Cijene Pravilo je napravljen prebrisati Cjenik / definirati postotak popusta, na temelju nekih kriterija."
-DocType: Serial No,Warehouse can only be changed via Stock Entry / Delivery Note / Purchase Receipt,Skladište se može mijenjati samo preko Stock Stupanje / Dostavnica / kupiti primitka
+DocType: Serial No,Warehouse can only be changed via Stock Entry / Delivery Note / Purchase Receipt,Skladište se može mijenjati samo preko Međuskladišnica / Otpremnica / Primka
DocType: Employee Education,Class / Percentage,Klasa / Postotak
apps/erpnext/erpnext/setup/page/setup_wizard/install_fixtures.py +92,Head of Marketing and Sales,Voditelj marketinga i prodaje
apps/erpnext/erpnext/setup/page/setup_wizard/install_fixtures.py +31,Income Tax,Porez na dohodak
@@ -2637,7 +2637,7 @@
apps/erpnext/erpnext/shopping_cart/doctype/shopping_cart_settings/shopping_cart_settings.py +109,Missing Currency Exchange Rates for {0},Nedostaje Valuta za {0}
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/operations.py +134,Laser cutting,Lasersko rezanje
DocType: Event,Monday,Ponedjeljak
-DocType: Journal Entry,Stock Entry,Kataloški Stupanje
+DocType: Journal Entry,Stock Entry,Međuskladišnica
DocType: Account,Payable,Plativ
DocType: Salary Slip,Arrear Amount,Iznos unatrag
apps/erpnext/erpnext/selling/report/customer_acquisition_and_loyalty/customer_acquisition_and_loyalty.py +57,New Customers,Novi kupci
@@ -3682,7 +3682,7 @@
DocType: Manufacturing Settings,Manufacturing Settings,Postavke proizvodnje
apps/erpnext/erpnext/config/setup.py +56,Setting up Email,Postavljanje e-poštu
apps/erpnext/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py +89,Please enter default currency in Company Master,Unesite zadanu valutu u tvrtki Master
-DocType: Stock Entry Detail,Stock Entry Detail,Kataloški Stupanje Detalj
+DocType: Stock Entry Detail,Stock Entry Detail,Detalji međuskladišnice
apps/erpnext/erpnext/templates/includes/cart.js +287,You need to be logged in to view your cart.,Morate biti prijavljeni da biste vidjeli svoju košaricu.
apps/erpnext/erpnext/accounts/page/accounts_browser/accounts_browser.js +204,New Account Name,Naziv novog računa
DocType: Purchase Invoice Item,Raw Materials Supplied Cost,Sirovine Isporuka Troškovi
diff --git a/erpnext/translations/ja.csv b/erpnext/translations/ja.csv
index 60806c5..6c15c57 100644
--- a/erpnext/translations/ja.csv
+++ b/erpnext/translations/ja.csv
@@ -4,7 +4,7 @@
apps/erpnext/erpnext/selling/doctype/sales_order/sales_order.py +54,Warning: Same item has been entered multiple times.,注意:同じ項目が複数回入力されています
apps/erpnext/erpnext/hub_node/doctype/hub_settings/hub_settings.py +96,Items already synced,すでに同期されたアイテム
DocType: Purchase Order,"If you have created a standard template in Purchase Taxes and Charges Template, select one and click on the button below.",購入税および請求テンプレート内の標準テンプレートを作成した場合、いずれかを選択して、下のボタンをクリックしてください
-apps/erpnext/erpnext/support/doctype/warranty_claim/warranty_claim.py +33,Cancel Material Visit {0} before cancelling this Warranty Claim,この保証請求をキャンセルする前に材料訪問{0}をキャンセルしなくてはなりません
+apps/erpnext/erpnext/support/doctype/warranty_claim/warranty_claim.py +33,Cancel Material Visit {0} before cancelling this Warranty Claim,この保証請求をキャンセルする前に資材訪問{0}をキャンセルしなくてはなりません
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/industry_type.py +18,Consumer Products,消費者製品
apps/erpnext/erpnext/accounts/report/general_ledger/general_ledger.js +68,Please select Party Type first,先に当事者タイプを選択してください
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/operations.py +89,Annealing,焼きなまし
@@ -25,7 +25,7 @@
apps/erpnext/erpnext/shopping_cart/doctype/shopping_cart_settings/shopping_cart_settings.py +95,Currency is required for Price List {0},価格表{0}には通貨が必要です
DocType: Sales Taxes and Charges Template,* Will be calculated in the transaction.,※取引内で計算されます。
apps/erpnext/erpnext/setup/doctype/backup_manager/backup_googledrive.py +120,Please set Google Drive access keys in {0},{0}にGoogleドライブのアクセスキーを設定してください
-apps/erpnext/erpnext/buying/doctype/purchase_order/purchase_order.js +536,From Material Request,素材要求元
+apps/erpnext/erpnext/buying/doctype/purchase_order/purchase_order.js +536,From Material Request,資材要求元
apps/erpnext/erpnext/selling/page/sales_browser/sales_browser.js +37,{0} Tree,{0}ツリー
DocType: Job Applicant,Job Applicant,求職者
apps/erpnext/erpnext/hub_node/page/hub/hub_body.html +18,No more results.,これ以上、結果はありません。
@@ -58,7 +58,7 @@
apps/erpnext/erpnext/setup/page/setup_wizard/install_fixtures.py +134,Bank Draft,銀行為替手形
DocType: Features Setup,1. To maintain the customer wise item code and to make them searchable based on their code use this option,1 . 顧客ごとのアイテムコードを維持し、コードで検索を可能にするためには、このオプションを使用します。
DocType: Mode of Payment Account,Mode of Payment Account,支払口座のモード
-apps/erpnext/erpnext/stock/doctype/item/item.js +30,Show Variants,派生を表示
+apps/erpnext/erpnext/stock/doctype/item/item.js +30,Show Variants,バリエーションを表示
DocType: Sales Invoice Item,Quantity,数量
apps/erpnext/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py +174,Loans (Liabilities),ローン(負債)
DocType: Employee Education,Year of Passing,経過年
@@ -273,10 +273,10 @@
DocType: Item,Publish in Hub,ハブに公開
,Terretory,地域
apps/erpnext/erpnext/stock/doctype/item/item.py +366,Item {0} is cancelled,アイテム{0}をキャンセルしました
-apps/erpnext/erpnext/selling/doctype/sales_order/sales_order.js +612,Material Request,材料要求
+apps/erpnext/erpnext/selling/doctype/sales_order/sales_order.js +612,Material Request,資材要求
DocType: Bank Reconciliation,Update Clearance Date,清算日の更新
DocType: Item,Purchase Details,仕入詳細
-apps/erpnext/erpnext/stock/doctype/stock_entry/stock_entry.py +330,Item {0} not found in 'Raw Materials Supplied' table in Purchase Order {1},購買発注に「原材料供給 'テーブルに見つかりません項目{0} {1}
+apps/erpnext/erpnext/stock/doctype/stock_entry/stock_entry.py +330,Item {0} not found in 'Raw Materials Supplied' table in Purchase Order {1},仕入注文 {1} の「原材料供給」テーブルにアイテム {0} が見つかりません
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/operations.py +128,Wire brushing,ワイヤーブラッシング
DocType: Employee,Relation,関連
apps/erpnext/erpnext/config/selling.py +23,Confirmed orders from Customers.,お客様からのご注文確認。
@@ -305,7 +305,7 @@
apps/erpnext/erpnext/config/crm.py +85,Manage Sales Person Tree.,セールスパーソンツリーを管理します。
DocType: Item,Synced With Hub,ハブと同期
apps/erpnext/erpnext/setup/doctype/company/company.js +41,Wrong Password,間違ったパスワード
-DocType: Item,Variant Of,派生元
+DocType: Item,Variant Of,バリエーション元
apps/erpnext/erpnext/selling/doctype/quotation/quotation.py +32,Item {0} must be Service Item,アイテム{0}はサービスアイテムでなければなりません
apps/erpnext/erpnext/manufacturing/doctype/production_order/production_order.py +303,Completed Qty can not be greater than 'Qty to Manufacture',完成した数量は「製造数量」より大きくすることはできません
DocType: DocType,Administrator,管理者
@@ -322,7 +322,7 @@
DocType: Newsletter,Newsletter,ニュースレター
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/operations.py +83,Hydroforming,ハイドロフォーミング法
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/operations.py +48,Necking,ネッキング
-DocType: Stock Settings,Notify by Email on creation of automatic Material Request,自動的な材料要求の作成時にメールで通知
+DocType: Stock Settings,Notify by Email on creation of automatic Material Request,自動的な資材要求の作成時にメールで通知
apps/erpnext/erpnext/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.py +29,Item is updated,アイテムを更新しました
DocType: Comment,System Manager,システム管理者
DocType: Payment Reconciliation Invoice,Invoice Type,請求書タイプ
@@ -333,14 +333,14 @@
apps/erpnext/erpnext/accounts/utils.py +182,Payment Entry has been modified after you pulled it. Please pull it again.,支払エントリが変更されています。引用しなおしてください
apps/erpnext/erpnext/stock/doctype/item/item.py +195,{0} entered twice in Item Tax,アイテムの税金に{0}が2回入力されています
DocType: Workstation,Rent Cost,地代・賃料
-DocType: Manage Variants Item,Variant Attributes,バリアント属性
+DocType: Manage Variants Item,Variant Attributes,バリエーション属性
apps/erpnext/erpnext/hr/report/monthly_attendance_sheet/monthly_attendance_sheet.py +73,Please select month and year,月と年を選択してください
DocType: Purchase Invoice,"Enter email id separated by commas, invoice will be mailed automatically on particular date",カンマで区切られたメールアドレスを入力すると、請求が特定の日に自動的に送信されます
DocType: Employee,Company Email,会社の電子メール
DocType: Workflow State,Refresh,再読込
DocType: Features Setup,"All import related fields like currency, conversion rate, import total, import grand total etc are available in Purchase Receipt, Supplier Quotation, Purchase Invoice, Purchase Order etc.",通貨、変換レート、輸入総輸入総計などのような全ての輸入に関連するフィールドは、領収書、サプライヤー見積、請求書、発注書などでご利用いただけます
apps/erpnext/erpnext/stock/doctype/item/item.js +29,This Item is a Template and cannot be used in transactions. Item attributes will be copied over into the variants unless 'No Copy' is set,"この商品はテンプレートで、取引内で使用することはできません。
-「コピーしない」が設定されていない限り、アイテムの属性は、派生にコピーされます"
+「コピーしない」が設定されていない限り、アイテムの属性は、バリエーションにコピーされます"
apps/erpnext/erpnext/selling/report/customers_not_buying_since_long_time/customers_not_buying_since_long_time.py +69,Total Order Considered,検討された注文合計
apps/erpnext/erpnext/config/hr.py +110,"Employee designation (e.g. CEO, Director etc.).",従業員の肩書(例:最高経営責任者(CEO)、取締役など)。
apps/erpnext/erpnext/controllers/recurring_document.py +200,Please enter 'Repeat on Day of Month' field value,フィールド値「毎月繰り返し」を入力してください
@@ -462,7 +462,7 @@
sites/assets/js/erpnext.min.js +54,Please select Company,会社を選択してください
DocType: Stock Entry,Difference Account,差損益
apps/erpnext/erpnext/projects/doctype/task/task.py +44,Cannot close task as its dependant task {0} is not closed.,その依存タスク{0}は閉じられていないとしてクローズ作業はできません。
-apps/erpnext/erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.py +298,Please enter Warehouse for which Material Request will be raised,素材のリクエストが発生する倉庫を入力してください
+apps/erpnext/erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.py +298,Please enter Warehouse for which Material Request will be raised,資材要求が発生する倉庫を入力してください
DocType: Production Order,Additional Operating Cost,追加の営業費用
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/industry_type.py +19,Cosmetics,化粧品
DocType: DocField,Type,タイプ
@@ -473,7 +473,7 @@
DocType: Employee,Emergency Phone,緊急電話
DocType: Backup Manager,Google Drive Access Allowed,Googleドライブへのアクセスが可能
,Serial No Warranty Expiry,シリアル番号(保証期限)
-apps/erpnext/erpnext/stock/doctype/material_request/material_request.js +635,Do you really want to STOP this Material Request?,この材料要求を中止しますか?
+apps/erpnext/erpnext/stock/doctype/material_request/material_request.js +635,Do you really want to STOP this Material Request?,この資材要求を中止しますか?
apps/erpnext/erpnext/selling/doctype/sales_order/sales_order_list.js +22,To Deliver,配信するには
DocType: Purchase Invoice Item,Item,アイテム
DocType: Journal Entry,Difference (Dr - Cr),差額(借方 - 貸方)
@@ -487,8 +487,8 @@
DocType: Global Defaults,"If disable, 'Rounded Total' field will not be visible in any transaction",無効にすると、「四捨五入された合計」欄は各取引には表示されなくなります
DocType: BOM,Operating Cost,運用費
,Gross Profit,粗利益
-DocType: Production Planning Tool,Material Requirement,材料要件
-DocType: Variant Attribute,Variant Attribute,バリアント属性
+DocType: Production Planning Tool,Material Requirement,資材所要量
+DocType: Variant Attribute,Variant Attribute,バリエーション属性
DocType: Company,Delete Company Transactions,会社の取引を削除
apps/erpnext/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py +84,Item {0} is not Purchase Item,アイテム{0}は仕入アイテムではありません
apps/erpnext/erpnext/controllers/recurring_document.py +189,"{0} is an invalid email address in 'Notification \
@@ -531,7 +531,7 @@
DocType: Backup Manager,Sync with Google Drive,Googleドライブとの同期
DocType: Leave Control Panel,Allocate,割当
apps/erpnext/erpnext/setup/page/setup_wizard/setup_wizard_page.html +16,Previous,前
-DocType: Item,Manage Variants,バリアントを管理します
+DocType: Item,Manage Variants,バリエーションを管理
DocType: Production Planning Tool,Select Sales Orders from which you want to create Production Orders.,作成した製造指示から受注を選択します。
apps/erpnext/erpnext/config/hr.py +120,Salary components.,給与コンポーネント
apps/erpnext/erpnext/config/crm.py +12,Database of potential customers.,潜在顧客データベース
@@ -596,7 +596,7 @@
apps/erpnext/erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.py +187,{0}: {1} not found in Invoice Details table,{0}:{1}は請求書詳細テーブルに存在しません
DocType: Company,Round Off Cost Center,コストセンターを丸めます
apps/erpnext/erpnext/selling/doctype/sales_order/sales_order.py +189,Maintenance Visit {0} must be cancelled before cancelling this Sales Order,この受注をキャンセルする前に、メンテナンス訪問 {0} をキャンセルしなければなりません
-DocType: Material Request,Material Transfer,材料移転
+DocType: Material Request,Material Transfer,資材移送
apps/erpnext/erpnext/accounts/page/financial_analytics/financial_analytics.js +56,Opening (Dr),開く(借方)
apps/erpnext/erpnext/controllers/sales_and_purchase_return.py +40,Posting timestamp must be after {0},投稿のタイムスタンプは、{0}の後でなければなりません
apps/frappe/frappe/config/setup.py +59,Settings,設定
@@ -626,7 +626,7 @@
DocType: Hub Settings,Seller City,販売者の市区町村
DocType: Email Digest,Next email will be sent on:,次のメール送信先:
DocType: Offer Letter Term,Offer Letter Term,雇用契約書条件
-apps/erpnext/erpnext/stock/doctype/item/item.py +334,Item has variants.,アイテムは、バリアントを持っています。
+apps/erpnext/erpnext/stock/doctype/item/item.py +334,Item has variants.,アイテムはバリエーションがあります
apps/erpnext/erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.py +63,Item {0} not found,アイテム{0}が見つかりません
DocType: Bin,Stock Value,在庫価値
apps/erpnext/erpnext/buying/page/purchase_analytics/purchase_analytics.js +88,Tree Type,ツリー型
@@ -645,7 +645,7 @@
DocType: Lead,Campaign Name,キャンペーン名
,Reserved,予約済
apps/erpnext/erpnext/buying/doctype/purchase_order/purchase_order.js +644,Do you really want to UNSTOP,停止解除しますか?
-DocType: Purchase Order,Supply Raw Materials,材料供給
+DocType: Purchase Order,Supply Raw Materials,原材料供給
DocType: Purchase Invoice,The date on which next invoice will be generated. It is generated on submit.,次の請求が生成される日(提出すると生成されます)
apps/erpnext/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py +10,Current Assets,流動資産
apps/erpnext/erpnext/stock/doctype/stock_entry/stock_entry.py +93,{0} is not a stock Item,{0}は在庫アイテムではありません
@@ -828,11 +828,11 @@
DocType: Employee,Ms,女史
apps/erpnext/erpnext/config/accounts.py +143,Currency exchange rate master.,為替レートマスター
apps/erpnext/erpnext/manufacturing/doctype/production_order/production_order.py +248,Unable to find Time Slot in the next {0} days for Operation {1},操作{1}のための時間スロットは次の{0}日間に存在しません
-DocType: Production Order,Plan material for sub-assemblies,部分組立品材料計画
+DocType: Production Order,Plan material for sub-assemblies,部分組立品資材計画
apps/erpnext/erpnext/manufacturing/doctype/bom/bom.py +427,BOM {0} must be active,部品表{0}はアクティブでなければなりません
apps/erpnext/erpnext/stock/doctype/serial_no/serial_no.js +22,Set Status as Available,ステータスを「利用可」に設定
apps/erpnext/erpnext/selling/report/sales_person_wise_transaction_summary/sales_person_wise_transaction_summary.py +26,Please select the document type first,文書タイプを選択してください
-apps/erpnext/erpnext/support/doctype/maintenance_visit/maintenance_visit.py +68,Cancel Material Visits {0} before cancelling this Maintenance Visit,このメンテナンス訪問をキャンセルする前に材料訪問{0}をキャンセルしなくてはなりません
+apps/erpnext/erpnext/support/doctype/maintenance_visit/maintenance_visit.py +68,Cancel Material Visits {0} before cancelling this Maintenance Visit,このメンテナンス訪問をキャンセルする前に資材訪問{0}をキャンセルしなくてはなりません
DocType: Salary Slip,Leave Encashment Amount,休暇現金化量
apps/erpnext/erpnext/stock/doctype/serial_no/serial_no.py +223,Serial No {0} does not belong to Item {1},アイテム {1} に関連付けが無いシリアル番号 {0}
DocType: Purchase Receipt Item Supplied,Required Qty,必要な数量
@@ -847,7 +847,7 @@
DocType: Supplier,Default Payable Accounts,デフォルト買掛金勘定
apps/erpnext/erpnext/hr/doctype/attendance/attendance.py +40,Employee {0} is not active or does not exist,従業員{0}はアクティブでないか、存在しません
DocType: Features Setup,Item Barcode,アイテムのバーコード
-apps/erpnext/erpnext/stock/doctype/manage_variants/manage_variants.py +161,Item Variants {0} updated,アイテム派生{0}を更新しました
+apps/erpnext/erpnext/stock/doctype/manage_variants/manage_variants.py +161,Item Variants {0} updated,アイテムバリエーション{0}を更新しました
DocType: Quality Inspection Reading,Reading 6,報告要素6
DocType: Purchase Invoice Advance,Purchase Invoice Advance,仕入請求前払
DocType: Address,Shop,店
@@ -902,7 +902,7 @@
apps/erpnext/erpnext/setup/doctype/email_digest/email_digest.js +7,There was an error. One probable reason could be that you haven't saved the form. Please contact support@erpnext.com if the problem persists.,"エラーが発生しました。
フォームを保存していないことが原因だと考えられます。
問題が解決しない場合はsupport@erpnext.comにお問い合わせください。"
-DocType: Purchase Order,% of materials billed against this Purchase Order.,この発注に対して請求される材料の%
+DocType: Purchase Order,% of materials billed against this Purchase Order.,%の資材が請求済(この発注を対象)
apps/erpnext/erpnext/controllers/selling_controller.py +154,Order Type must be one of {0},注文タイプは{0}のいずれかである必要があります
DocType: Lead,Next Contact Date,次回連絡日
apps/erpnext/erpnext/stock/report/batch_wise_balance_history/batch_wise_balance_history.py +35,Opening Qty,数量を開く
@@ -945,7 +945,7 @@
apps/erpnext/erpnext/hr/doctype/expense_claim/expense_claim.js +109,You are the Expense Approver for this record. Please Update the 'Status' and Save,あなたはこのレコードの経費承認者です。「ステータス」を更新し保存してください。
DocType: Serial No,Creation Document No,作成ドキュメントNo
DocType: Issue,Issue,課題
-apps/erpnext/erpnext/config/stock.py +141,"Attributes for Item Variants. e.g Size, Color etc.",アイテム派生の属性。例)サイズ、色など
+apps/erpnext/erpnext/config/stock.py +141,"Attributes for Item Variants. e.g Size, Color etc.",アイテムバリエーションの属性。例)サイズ、色など
apps/erpnext/erpnext/manufacturing/doctype/production_order/production_order_calendar.js +30,WIP Warehouse,作業中倉庫
apps/erpnext/erpnext/support/doctype/maintenance_schedule/maintenance_schedule.py +204,Serial No {0} is under maintenance contract upto {1},シリアル番号{0}は {1}まで保守契約下にあります
DocType: BOM Operation,Operation,作業
@@ -1016,7 +1016,7 @@
apps/erpnext/erpnext/config/projects.py +33,Types of activities for Time Sheets,タイムシート用活動タイプ
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/operations.py +13,Investment casting,インベストメント鋳造
apps/erpnext/erpnext/accounts/doctype/gl_entry/gl_entry.py +48,Either debit or credit amount is required for {0},{0}には借方計・貸方計のどちらかが必要です
-DocType: Item Attribute Value,"This will be appended to the Item Code of the variant. For example, if your abbreviation is ""SM"", and the item code is ""T-SHIRT"", the item code of the variant will be ""T-SHIRT-SM""",これは派生のアイテムコードに追加されます。あなたの略称が「SM」であり、アイテムコードが「T-SHIRT」である場合は、派生のアイテムコードは、「T-SHIRT-SM」になります
+DocType: Item Attribute Value,"This will be appended to the Item Code of the variant. For example, if your abbreviation is ""SM"", and the item code is ""T-SHIRT"", the item code of the variant will be ""T-SHIRT-SM""",これはバリエーションのアイテムコードに追加されます。あなたの略称が「SM」であり、アイテムコードが「T-SHIRT」である場合は、バリエーションのアイテムコードは、「T-SHIRT-SM」になります
DocType: Salary Slip,Net Pay (in words) will be visible once you save the Salary Slip.,給与伝票を保存すると給与が表示されます。
apps/frappe/frappe/core/doctype/user/user_list.js +12,Active,アクティブ
apps/erpnext/erpnext/setup/page/setup_wizard/install_fixtures.py +154,Blue,青
@@ -1184,7 +1184,7 @@
apps/erpnext/erpnext/accounts/doctype/gl_entry/gl_entry.py +145,Against Journal Entry {0} is already adjusted against some other voucher,対仕訳{0}はすでにいくつか他の伝票に対して適応されています
DocType: Backup Manager,Files Folder ID,ファイルフォルダのID
apps/erpnext/erpnext/selling/report/customers_not_buying_since_long_time/customers_not_buying_since_long_time.py +68,Total Order Value,注文価値合計
-apps/erpnext/erpnext/stock/doctype/manage_variants/manage_variants.py +167,Item Variants {0} deleted,アイテム派生{0}を削除しました
+apps/erpnext/erpnext/stock/doctype/manage_variants/manage_variants.py +167,Item Variants {0} deleted,アイテムバリエーション{0}を削除しました
apps/erpnext/erpnext/setup/page/setup_wizard/install_fixtures.py +38,Food,食べ物
apps/erpnext/erpnext/accounts/report/accounts_payable/accounts_payable.js +51,Ageing Range 3,エイジングレンジ3
apps/erpnext/erpnext/stock/doctype/manage_variants/manage_variants.py +84,{0} {1} is entered more than once in Attributes table,{0} {1}の属性テーブルで複数回入力されました
@@ -1211,7 +1211,7 @@
apps/erpnext/erpnext/hr/doctype/holiday_list/holiday_list.py +30,Please select Fiscal Year,会計年度を選択してください
apps/erpnext/erpnext/controllers/buying_controller.py +23,From {0} | {1} {2},{0}から | {1} {2}
DocType: BOM Operation,Operation Description,作業説明
-DocType: Item,Will also apply to variants,派生にも適用されます
+DocType: Item,Will also apply to variants,バリエーションにも適用されます
apps/erpnext/erpnext/accounts/doctype/fiscal_year/fiscal_year.py +30,Cannot change Fiscal Year Start Date and Fiscal Year End Date once the Fiscal Year is saved.,年度が保存されると会計年度の開始日と会計年度終了日を変更することはできません。
DocType: Quotation,Shopping Cart,カート
apps/erpnext/erpnext/stock/report/itemwise_recommended_reorder_level/itemwise_recommended_reorder_level.py +42,Avg Daily Outgoing,平均支出
@@ -1291,7 +1291,7 @@
",次の請求書が生成される日付。これは提出時に生成されます。
DocType: Item Attribute,Item Attribute,アイテム属性
apps/erpnext/erpnext/setup/page/setup_wizard/install_fixtures.py +105,Government,政府
-DocType: Manage Variants,Item Variants,項目バリアント
+DocType: Manage Variants,Item Variants,アイテムバリエーション
DocType: Company,Services,サービス
apps/erpnext/erpnext/accounts/report/financial_statements.py +147,Total ({0}),計({0})
DocType: Cost Center,Parent Cost Center,親コストセンター
@@ -1307,7 +1307,7 @@
DocType: Material Request Item,Sales Order No,受注番号
DocType: Item Group,Item Group Name,アイテムグループ名
apps/erpnext/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py +52,Taken,売上高
-apps/erpnext/erpnext/manufacturing/doctype/production_order/production_order.js +65,Transfer Materials for Manufacture,製造用材料移転
+apps/erpnext/erpnext/manufacturing/doctype/production_order/production_order.js +65,Transfer Materials for Manufacture,製造用資材配送
DocType: Pricing Rule,For Price List,価格表用
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/industry_type.py +26,Executive Search,エグゼクティブサーチ
apps/erpnext/erpnext/stock/stock_ledger.py +406,"Purchase rate for item: {0} not found, which is required to book accounting entry (expense). Please mention item price against a buying price list.","アイテム{0}の仕入額が見つかりません、会計エントリ(費用)を記帳するために必要とされています。
@@ -1348,7 +1348,7 @@
DocType: Pricing Rule,Pricing Rule,価格設定ルール
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/operations.py +57,Notching,ノッチ
apps/erpnext/erpnext/selling/doctype/sales_order/sales_order.py +44,Reserved warehouse required for stock item {0},在庫アイテム{0}のために予約倉庫が必要です
-apps/erpnext/erpnext/config/learn.py +137,Material Request to Purchase Order,注文を購入するための材料を要求
+apps/erpnext/erpnext/config/learn.py +137,Material Request to Purchase Order,仕入注文のための資材要求
apps/erpnext/erpnext/controllers/sales_and_purchase_return.py +69,Row # {0}: Returned Item {1} does not exists in {2} {3},行#{0}:戻された項目は、{1} {2} {3}に存在しません
apps/erpnext/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py +16,Bank Accounts,銀行口座
,Bank Reconciliation Statement,銀行勘定調整表
@@ -1372,7 +1372,7 @@
DocType: Purchase Receipt,Supplier Warehouse,サプライヤー倉庫
DocType: Opportunity,Contact Mobile No,連絡先携帯番号
DocType: Production Planning Tool,Select Sales Orders,受注を選択
-,Material Requests for which Supplier Quotations are not created,サプライヤー見積が作成されていない材料要求
+,Material Requests for which Supplier Quotations are not created,サプライヤー見積が作成されていない資材要求
DocType: Features Setup,To track items using barcode. You will be able to enter items in Delivery Note and Sales Invoice by scanning barcode of item.,バーコードを使用してアイテムを追跡します。アイテムのバーコードをスキャンすることによって、納品書や請求書にアイテムを入力することができます。
apps/erpnext/erpnext/crm/doctype/lead/lead.js +34,Make Quotation,見積を作成
DocType: Dependent Task,Dependent Task,依存タスク
@@ -1406,7 +1406,7 @@
DocType: Company,Default Payable Account,デフォルト買掛金勘定
apps/erpnext/erpnext/config/website.py +13,"Settings for online shopping cart such as shipping rules, price list etc.",オンラインショッピングカート設定(出荷ルール・価格表など)
apps/erpnext/erpnext/setup/page/setup_wizard/setup_wizard.js +660,Setup Complete,セットアップ完了
-DocType: Manage Variants,Item Variant Attributes,項目バリアントの属性
+DocType: Manage Variants,Item Variant Attributes,アイテムバリエーション属性
apps/erpnext/erpnext/controllers/website_list_for_contact.py +48,{0}% Billed,{0}%支払済
apps/erpnext/erpnext/stock/report/stock_projected_qty/stock_projected_qty.py +33,Reserved Qty,予約数量
DocType: Party Account,Party Account,当事者アカウント
@@ -1456,14 +1456,14 @@
DocType: Salary Structure Deduction,Reduce Deduction for Leave Without Pay (LWP),無給休暇(LWP)の控除減
DocType: Territory,Territory Manager,地域マネージャ
DocType: Selling Settings,Selling Settings,販売設定
-apps/erpnext/erpnext/stock/doctype/manage_variants/manage_variants.py +68,Item cannot be a variant of a variant,アイテムは派生のさらに派生にはできません
+apps/erpnext/erpnext/stock/doctype/manage_variants/manage_variants.py +68,Item cannot be a variant of a variant,アイテムはバリエーションのさらに派生にはできません
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/industry_type.py +38,Online Auctions,オンラインオークション
apps/erpnext/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py +94,Please specify either Quantity or Valuation Rate or both,数量または評価レートのいずれか、または両方を指定してください
apps/erpnext/erpnext/hr/doctype/process_payroll/process_payroll.js +50,"Company, Month and Fiscal Year is mandatory",会社、月と年度は必須です
apps/erpnext/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py +102,Marketing Expenses,マーケティング費用
,Item Shortage Report,アイテム不足レポート
apps/erpnext/erpnext/stock/doctype/item/item.js +188,"Weight is mentioned,\nPlease mention ""Weight UOM"" too",重量が記載されていますので、あわせて「重量単位」を記載してください
-DocType: Stock Entry Detail,Material Request used to make this Stock Entry,この在庫エントリを作成するために使用される材料要求
+DocType: Stock Entry Detail,Material Request used to make this Stock Entry,この在庫エントリを作成するために使用される資材要求
DocType: Journal Entry,View Details,詳細を表示
apps/erpnext/erpnext/config/support.py +43,Single unit of an Item.,アイテムの1単位
apps/erpnext/erpnext/accounts/doctype/sales_invoice/sales_invoice.py +164,Time Log Batch {0} must be 'Submitted',時間ログバッチ{0}は「提出済」でなければなりません
@@ -1481,10 +1481,10 @@
顧客名か顧客グループのどちらかの名前を変更してください"
DocType: Territory,Parent Territory,上位地域
DocType: Quality Inspection Reading,Reading 2,報告要素2
-DocType: Stock Entry,Material Receipt,材料領収書
+DocType: Stock Entry,Material Receipt,資材領収書
apps/erpnext/erpnext/setup/page/setup_wizard/setup_wizard.js +622,Products,商品
apps/erpnext/erpnext/accounts/doctype/gl_entry/gl_entry.py +44,Party Type and Party is required for Receivable / Payable account {0},売掛金/買掛金勘定{0}には当事者タイプと当事者が必要です。
-DocType: Item,"If this item has variants, then it cannot be selected in sales orders etc.",この商品はバリアントを持っている場合、それは受注などで選択することができません
+DocType: Item,"If this item has variants, then it cannot be selected in sales orders etc.",このアイテムにバリエーションがある場合、受注などで選択することができません
DocType: Lead,Next Contact By,次回連絡
apps/erpnext/erpnext/manufacturing/doctype/bom/bom.py +215,Quantity required for Item {0} in row {1},行{1}のアイテム{0}に必要な数量
apps/erpnext/erpnext/stock/doctype/warehouse/warehouse.py +85,Warehouse {0} can not be deleted as quantity exists for Item {1},アイテム{1}が存在するため倉庫{0}を削除することができません
@@ -1503,7 +1503,7 @@
DocType: Sales Invoice Item,Batch No,バッチ番号
apps/erpnext/erpnext/setup/doctype/company/company.py +149,Main,メイン
DocType: DocPerm,Delete,削除
-apps/erpnext/erpnext/stock/doctype/item/item_list.js +11,Variant,派生
+apps/erpnext/erpnext/stock/doctype/item/item_list.js +11,Variant,バリエーション
sites/assets/js/desk.min.js +931,New {0},新しい{0}
DocType: Naming Series,Set prefix for numbering series on your transactions,取引に連番の接頭辞を設定
apps/erpnext/erpnext/selling/doctype/sales_order/sales_order.py +154,Stopped order cannot be cancelled. Unstop to cancel.,停止された注文はキャンセルできません。キャンセルするには停止解除してください
@@ -1511,7 +1511,7 @@
DocType: Employee,Leave Encashed?,現金化された休暇?
apps/erpnext/erpnext/crm/doctype/opportunity/opportunity.py +31,Opportunity From field is mandatory,機会元フィールドは必須です
DocType: Sales Invoice,Considered as an Opening Balance,開始残高として考慮
-DocType: Item,Variants,派生
+DocType: Item,Variants,バリエーション
apps/erpnext/erpnext/buying/doctype/supplier_quotation/supplier_quotation.js +469,Make Purchase Order,発注を作成
DocType: SMS Center,Send To,送信先
apps/erpnext/erpnext/hr/doctype/leave_application/leave_application.py +111,There is not enough leave balance for Leave Type {0},休暇タイプ{0}のための休暇残が足りません
@@ -1541,11 +1541,11 @@
DocType: Authorization Control,Authorization Control,認証コントロール
apps/erpnext/erpnext/config/projects.py +23,Time Log for tasks.,タスクの時間ログ
DocType: Production Order Operation,Actual Time and Cost,実際の時間とコスト
-apps/erpnext/erpnext/stock/doctype/material_request/material_request.py +52,Material Request of maximum {0} can be made for Item {1} against Sales Order {2},材料要求の最大値{0}は、注{2}に対するアイテム{1}から作られます
+apps/erpnext/erpnext/stock/doctype/material_request/material_request.py +52,Material Request of maximum {0} can be made for Item {1} against Sales Order {2},資材要求の最大値{0}は、注{2}に対するアイテム{1}から作られます
DocType: Employee,Salutation,敬称(例:Mr. Ms.)
DocType: Quality Inspection Reading,Rejected,拒否
DocType: Pricing Rule,Brand,ブランド
-DocType: Item,Will also apply for variants,派生についても適用されます
+DocType: Item,Will also apply for variants,バリエーションについても適用されます
apps/erpnext/erpnext/selling/doctype/sales_order/sales_order.js +601,% Delivered,%納品済
apps/erpnext/erpnext/config/selling.py +153,Bundle items at time of sale.,販売時に商品をまとめる
DocType: Sales Order Item,Actual Qty,実際の数量
@@ -1581,7 +1581,7 @@
DocType: Purchase Order Item,Supplier Quotation Item,サプライヤー見積アイテム
apps/erpnext/erpnext/hr/doctype/employee/employee.js +27,Make Salary Structure,給与体系を作成
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/operations.py +53,Shearing,シアリング
-DocType: Item,Has Variants,派生あり
+DocType: Item,Has Variants,バリエーションあり
apps/erpnext/erpnext/projects/doctype/time_log_batch/time_log_batch.js +22,Click on 'Make Sales Invoice' button to create a new Sales Invoice.,新しい売上請求書を作成するために「請求書を作成」ボタンをクリックしてください。
apps/erpnext/erpnext/controllers/recurring_document.py +166,Period From and Period To dates mandatory for recurring %s,繰り返し %s には期間の開始・終了日が必須です
DocType: Journal Entry Account,Against Expense Claim,対経費請求
@@ -1627,7 +1627,7 @@
apps/erpnext/erpnext/accounts/report/payment_period_based_on_invoice_date/payment_period_based_on_invoice_date.py +44,{0} payment entries can not be filtered by {1},{0}の支払いエントリは{1}によってフィルタリングすることができません
DocType: Item Website Specification,Table for Item that will be shown in Web Site,Webサイトに表示されたアイテムの表
DocType: Purchase Order Item Supplied,Supplied Qty,サプライ数量
-DocType: Material Request Item,Material Request Item,材料要求アイテム
+DocType: Material Request Item,Material Request Item,資材要求アイテム
apps/erpnext/erpnext/config/stock.py +108,Tree of Item Groups.,アイテムグループのツリー
apps/erpnext/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js +100,Cannot refer row number greater than or equal to current row number for this Charge type,この請求タイプの行数以上の行番号を参照することはできません
,Item-wise Purchase History,アイテムごとの仕入履歴
@@ -1649,7 +1649,7 @@
apps/erpnext/erpnext/setup/page/setup_wizard/setup_wizard.js +621,Group,グループ
DocType: Task,Expected Time (in hours),予定時間(時)
,Qty to Order,注文数
-DocType: Features Setup,"To track brand name in the following documents Delivery Note, Opportunity, Material Request, Item, Purchase Order, Purchase Voucher, Purchaser Receipt, Quotation, Sales Invoice, Product Bundle, Sales Order, Serial No",以下の書類の納品書、機会、素材依頼、アイテム、購買発注、購買伝票、購入者の領収書、見積、納品書、製品バンドル、受注、シリアル番号にブランド名を追跡するために、
+DocType: Features Setup,"To track brand name in the following documents Delivery Note, Opportunity, Material Request, Item, Purchase Order, Purchase Voucher, Purchaser Receipt, Quotation, Sales Invoice, Product Bundle, Sales Order, Serial No",ブランド名を追跡するための次の文書:納品書、機会、資材要求、アイテム、仕入発注、購入伝票、納品書、見積、請求、製品付属品、受注、シリアル番号
DocType: Sales Order,PO No,発注番号
apps/erpnext/erpnext/config/projects.py +51,Gantt chart of all tasks.,すべてのタスクのガントチャート
DocType: Appraisal,For Employee Name,従業員名用
@@ -1847,7 +1847,7 @@
DocType: Delivery Note,Date on which lorry started from your warehouse,倉庫から輸送が開始された日
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/industry_type.py +50,Technology,技術
DocType: Offer Letter,Offer Letter,雇用契約書
-apps/erpnext/erpnext/config/manufacturing.py +51,Generate Material Requests (MRP) and Production Orders.,材料要求(MRP)と製造指示を生成
+apps/erpnext/erpnext/config/manufacturing.py +51,Generate Material Requests (MRP) and Production Orders.,資材要求(MRP)と製造指示を生成
apps/erpnext/erpnext/accounts/report/accounts_receivable/accounts_receivable.html +68,Total Invoiced Amt,請求額合計
DocType: Time Log,To Time,終了時間
apps/erpnext/erpnext/accounts/page/accounts_browser/accounts_browser.js +25,"To add child nodes, explore tree and click on the node under which you want to add more nodes.",子ノードを追加するには、ツリーを展開し、増やしたいノードの下をクリックしてください
@@ -1927,7 +1927,7 @@
DocType: Rename Tool,Rename Tool,ツール名称変更
apps/erpnext/erpnext/manufacturing/doctype/bom/bom.js +15,Update Cost,費用更新
DocType: Item Reorder,Item Reorder,アイテム再注文
-apps/erpnext/erpnext/stock/doctype/material_request/material_request.js +508,Transfer Material,材料移転
+apps/erpnext/erpnext/stock/doctype/material_request/material_request.js +508,Transfer Material,資材配送
DocType: BOM,"Specify the operations, operating cost and give a unique Operation no to your operations.",「運用」には「運用コスト」「固有の運用番号」を指定してください。
DocType: Purchase Invoice,Price List Currency,価格表の通貨
DocType: Naming Series,User must always select,ユーザーは常に選択する必要があります
@@ -2016,7 +2016,7 @@
DocType: Delivery Note,Transporter Name,輸送者名
DocType: Contact,Enter department to which this Contact belongs,この連絡先の所属部署を入力してください
apps/erpnext/erpnext/hr/report/monthly_attendance_sheet/monthly_attendance_sheet.py +56,Total Absent,欠席計
-apps/erpnext/erpnext/stock/doctype/stock_entry/stock_entry.py +658,Item or Warehouse for row {0} does not match Material Request,行{0}のアイテムまたは倉庫が材料要求と一致していません
+apps/erpnext/erpnext/stock/doctype/stock_entry/stock_entry.py +658,Item or Warehouse for row {0} does not match Material Request,行{0}のアイテムまたは倉庫が資材要求と一致していません
apps/erpnext/erpnext/config/stock.py +114,Unit of Measure,数量単位
DocType: Fiscal Year,Year End Date,年終日
DocType: Task Depends On,Task Depends On,依存するタスク
@@ -2028,13 +2028,13 @@
DocType: Notification Control,Expense Claim Approved Message,経費請求を承認メッセージ
DocType: Email Digest,How frequently?,どのくらいの頻度?
DocType: Purchase Receipt,Get Current Stock,在庫状況を取得
-apps/erpnext/erpnext/config/manufacturing.py +63,Tree of Bill of Materials,マテリアルのビルの木
+apps/erpnext/erpnext/config/manufacturing.py +63,Tree of Bill of Materials,部品表ツリー
apps/erpnext/erpnext/stock/doctype/delivery_note/delivery_note.js +612,Make Installation Note,設置票を作成
apps/erpnext/erpnext/support/doctype/maintenance_schedule/maintenance_schedule.py +208,Maintenance start date can not be before delivery date for Serial No {0},メンテナンスの開始日は、シリアル番号{0}の納品日より前にすることはできません
DocType: Production Order,Actual End Date,実際の終了日
DocType: Authorization Rule,Applicable To (Role),(役割)に適用
DocType: Stock Entry,Purpose,目的
-DocType: Item,Will also apply for variants unless overrridden,上書きされない限り、派生についても適用されます
+DocType: Item,Will also apply for variants unless overrridden,上書きされない限り、バリエーションについても適用されます
DocType: Purchase Invoice,Advances,前払金
apps/erpnext/erpnext/setup/doctype/authorization_rule/authorization_rule.py +32,Approving User cannot be same as user the rule is Applicable To,承認ユーザーは、ルール適用対象ユーザーと同じにすることはできません
DocType: SMS Log,No of Requested SMS,要求されたSMSの数
@@ -2100,7 +2100,7 @@
10. 追加/控除:
追加か控除かを選択します"
DocType: Note,Note,ノート
-DocType: Email Digest,New Material Requests,新しい材料のリクエスト
+DocType: Email Digest,New Material Requests,新しい資材要求
DocType: Purchase Receipt Item,Recd Quantity,受領数量
DocType: Email Account,Email Ids,メールアドレス
apps/erpnext/erpnext/manufacturing/doctype/production_order/production_order.py +100,Cannot produce more Item {0} than Sales Order quantity {1},受注数{1}より多くのアイテム{0}を製造することはできません
@@ -2132,7 +2132,7 @@
DocType: Purchase Taxes and Charges,Parenttype,親タイプ
sites/assets/js/list.min.js +26,Submitted,提出済
DocType: Salary Structure,Total Earning,収益合計
-DocType: Purchase Receipt,Time at which materials were received,材料受領時刻
+DocType: Purchase Receipt,Time at which materials were received,資材受領時刻
apps/erpnext/erpnext/utilities/doctype/address/address.py +110,My Addresses,私のアドレス
DocType: Stock Ledger Entry,Outgoing Rate,発信レート
apps/erpnext/erpnext/config/hr.py +100,Organization branch master.,組織支部マスター。
@@ -2178,9 +2178,9 @@
DocType: Account,Income Account,収益勘定
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/operations.py +21,Molding,モールディング
DocType: Stock Reconciliation Item,Current Qty,現在の数量
-DocType: BOM Item,"See ""Rate Of Materials Based On"" in Costing Section",原価計算セクションの「原料の占める割合」を参照してください。
+DocType: BOM Item,"See ""Rate Of Materials Based On"" in Costing Section",原価計算セクションの「原材料の占める割合」を参照してください。
DocType: Appraisal Goal,Key Responsibility Area,重要責任分野
-DocType: Item Reorder,Material Request Type,材料要求タイプ
+DocType: Item Reorder,Material Request Type,資材要求タイプ
apps/frappe/frappe/desk/moduleview.py +61,Documents,文書
apps/erpnext/erpnext/accounts/report/accounts_receivable/accounts_receivable.html +17,Ref,参照
DocType: Cost Center,Cost Center,コストセンター
@@ -2313,7 +2313,7 @@
DocType: Monthly Distribution,Distribution Name,配布名
DocType: Features Setup,Sales and Purchase,販売と仕入
DocType: Pricing Rule,Price / Discount,価格/割引
-DocType: Purchase Order Item,Material Request No,材料要求番号
+DocType: Purchase Order Item,Material Request No,資材要求番号
apps/erpnext/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py +202,Quality Inspection required for Item {0},アイテム{0}に必要な品質検査
DocType: Quotation,Rate at which customer's currency is converted to company's base currency,顧客の通貨が会社の基本通貨に換算されるレート
apps/erpnext/erpnext/crm/doctype/newsletter/newsletter.py +106,{0} has been successfully unsubscribed from this list.,このリストから{0}を正常に解除しました。
@@ -2326,7 +2326,7 @@
apps/erpnext/erpnext/controllers/taxes_and_totals.py +332,Please select Apply Discount On,「割引を適用」を選択してください
DocType: Company,Default Receivable Account,デフォルト売掛金勘定
DocType: Process Payroll,Create Bank Entry for the total salary paid for the above selected criteria,上記選択条件に支払われる総給与のための銀行エントリを作成
-DocType: Stock Entry,Material Transfer for Manufacture,製造用材料移送
+DocType: Stock Entry,Material Transfer for Manufacture,製造用資材移送
apps/erpnext/erpnext/accounts/doctype/pricing_rule/pricing_rule.js +18,Discount Percentage can be applied either against a Price List or for all Price List.,割引率は、価格表に対して、またはすべての価格リストのいずれかを適用することができます。
DocType: Purchase Invoice,Half-yearly,半年ごと
apps/erpnext/erpnext/accounts/report/financial_statements.py +16,Fiscal Year {0} not found.,会計年度{0}が見つかりません
@@ -2349,7 +2349,7 @@
DocType: Quality Inspection,Quality Inspection,品質検査
apps/erpnext/erpnext/setup/page/setup_wizard/install_fixtures.py +144,Extra Small,XS
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/operations.py +19,Spray forming,溶射成形
-apps/erpnext/erpnext/stock/doctype/material_request/material_request.js +469,Warning: Material Requested Qty is less than Minimum Order Qty,警告:材料の注文数が注文最小数を下回っています。
+apps/erpnext/erpnext/stock/doctype/material_request/material_request.js +469,Warning: Material Requested Qty is less than Minimum Order Qty,警告:資材要求数が注文最小数を下回っています。
apps/erpnext/erpnext/accounts/doctype/gl_entry/gl_entry.py +168,Account {0} is frozen,アカウント{0}は凍結されています
DocType: Company,Legal Entity / Subsidiary with a separate Chart of Accounts belonging to the Organization.,組織内で別々の勘定科目を持つ法人/子会社
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/industry_type.py +28,"Food, Beverage & Tobacco",食品、飲料&タバコ
@@ -2359,7 +2359,7 @@
DocType: Stock Entry,Subcontract,下請
DocType: Production Planning Tool,Get Items From Sales Orders,受注からアイテムを取得
DocType: Production Order Operation,Actual End Time,実際の終了時間
-DocType: Production Planning Tool,Download Materials Required,必要なものをダウンロード
+DocType: Production Planning Tool,Download Materials Required,所要資材をダウンロード
DocType: Item,Manufacturer Part Number,メーカー品番
DocType: Production Order Operation,Estimated Time and Cost,推定所要時間と費用
DocType: Bin,Bin,保管場所
@@ -2373,7 +2373,7 @@
apps/erpnext/erpnext/selling/doctype/product_bundle/product_bundle.js +13,"Please select Item where ""Is Stock Item"" is ""No"" and ""Is Sales Item"" is ""Yes"" and there is no other Product Bundle",「いいえ」と「販売項目は「 "在庫アイテムである"ここで "はい"であるアイテムを選択し、他の製品バンドルがありませんしてください。
DocType: Sales Partner,Select Monthly Distribution to unevenly distribute targets across months.,月をまたがってターゲットを不均等に配分するには、「月次配分」を選択してください
DocType: Purchase Invoice Item,Valuation Rate,評価額
-apps/erpnext/erpnext/stock/doctype/manage_variants/manage_variants.js +38,Create Variants,バリアントを作成
+apps/erpnext/erpnext/stock/doctype/manage_variants/manage_variants.js +38,Create Variants,バリエーションを作成
apps/erpnext/erpnext/stock/get_item_details.py +252,Price List Currency not selected,価格表の通貨が選択されていません
apps/erpnext/erpnext/stock/doctype/landed_cost_voucher/landed_cost_voucher.py +63,Item Row {0}: Purchase Receipt {1} does not exist in above 'Purchase Receipts' table,アイテムの行{0}:領収書{1}は上記の「領収書」テーブルに存在しません
DocType: Pricing Rule,Applicability,適用性
@@ -2452,7 +2452,7 @@
DocType: Pricing Rule,Purchase Manager,仕入マネージャー
DocType: Payment Tool,Payment Tool,支払ツール
DocType: Target Detail,Target Detail,ターゲット詳細
-DocType: Sales Order,% of materials billed against this Sales Order,この受注に対して請求される材料の%
+DocType: Sales Order,% of materials billed against this Sales Order,%の資材が請求済(この受注を対象)
apps/erpnext/erpnext/accounts/report/trial_balance/trial_balance.js +50,Period Closing Entry,決算エントリー
apps/erpnext/erpnext/accounts/doctype/cost_center/cost_center.py +62,Cost Center with existing transactions can not be converted to group,既存の取引があるコストセンターは、グループに変換することはできません
apps/erpnext/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py +90,Depreciation,減価償却
@@ -2465,7 +2465,7 @@
apps/erpnext/erpnext/accounts/page/pos/pos_page.html +4,Select type of transaction,取引タイプを選択
DocType: GL Entry,Voucher No,伝票番号
DocType: Leave Allocation,Leave Allocation,休暇割当
-apps/erpnext/erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.py +389,Material Requests {0} created,材料要求{0}は作成済
+apps/erpnext/erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.py +389,Material Requests {0} created,資材要求{0}は作成済
apps/erpnext/erpnext/config/selling.py +122,Template of terms or contract.,規約・契約用テンプレート
DocType: Customer,Last Day of the Next Month,次の月の最後の日
DocType: Employee,Feedback,フィードバック
@@ -2505,14 +2505,14 @@
DocType: Account,Accounts Manager,会計管理者
apps/erpnext/erpnext/projects/doctype/time_log_batch/time_log_batch.py +36,Time Log {0} must be 'Submitted',時間ログ{0}は「提出済」でなければなりません
DocType: Stock Settings,Default Stock UOM,デフォルト在庫数量単位
-DocType: Production Planning Tool,Create Material Requests,素材の要求を作成
+DocType: Production Planning Tool,Create Material Requests,資材要求を作成
DocType: Employee Education,School/University,学校/大学
DocType: Sales Invoice Item,Available Qty at Warehouse,倉庫の利用可能数量
,Billed Amount,請求金額
DocType: Bank Reconciliation,Bank Reconciliation,銀行勘定調整
apps/erpnext/erpnext/templates/includes/footer/footer_extension.html +9,Get Updates,アップデートを入手
DocType: Purchase Invoice,Total Amount To Pay,支払合計
-apps/erpnext/erpnext/stock/doctype/material_request/material_request.py +174,Material Request {0} is cancelled or stopped,材料要求{0}はキャンセルまたは停止されています
+apps/erpnext/erpnext/stock/doctype/material_request/material_request.py +174,Material Request {0} is cancelled or stopped,資材要求{0}はキャンセルまたは停止されています
apps/erpnext/erpnext/setup/page/setup_wizard/setup_wizard.js +641,Add a few sample records,いくつかのサンプル·レコードを追加します。
apps/erpnext/erpnext/config/learn.py +174,Leave Management,管理を残します
DocType: Event,Groups,グループ
@@ -2547,7 +2547,7 @@
DocType: Maintenance Schedule Item,Maintenance Schedule Item,メンテナンス予定アイテム
DocType: Sales Order,% Delivered,%納品済
apps/erpnext/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py +177,Bank Overdraft Account,銀行当座貸越口座
-apps/erpnext/erpnext/stock/doctype/manage_variants/manage_variants.py +164,Item Variants {0} renamed,項目バリアント{0}は、名前を変更
+apps/erpnext/erpnext/stock/doctype/manage_variants/manage_variants.py +164,Item Variants {0} renamed,アイテムバリエーション{0}名称変更済
apps/erpnext/erpnext/hr/doctype/salary_structure/salary_structure.js +15,Make Salary Slip,給与伝票を作成
apps/erpnext/erpnext/manufacturing/doctype/production_order/production_order.js +85,Unstop,停止解除
apps/erpnext/erpnext/manufacturing/doctype/bom/bom.js +18,Browse BOM,ブラウズBOM
@@ -2578,7 +2578,7 @@
DocType: Stock Settings,Item Naming By,アイテム命名
apps/erpnext/erpnext/selling/doctype/sales_order/sales_order.js +637,From Quotation,見積から
apps/erpnext/erpnext/accounts/doctype/period_closing_voucher/period_closing_voucher.py +35,Another Period Closing Entry {0} has been made after {1},別の期間の決算仕訳 {0} が {1} の後に作成されています
-DocType: Production Order,Material Transferred for Manufacturing,製造のために移設された材料
+DocType: Production Order,Material Transferred for Manufacturing,製造用移設資材
apps/erpnext/erpnext/accounts/report/general_ledger/general_ledger.py +25,Account {0} does not exists,アカウント{0}が存在しません
DocType: Purchase Receipt Item,Purchase Order Item No,発注アイテム番号
DocType: System Settings,System Settings,システム設定
@@ -2669,7 +2669,7 @@
DocType: Process Payroll,Check if you want to send salary slip in mail to each employee while submitting salary slip,給与明細を登録する時に、各従業員へメールで給与明細を送信したい場合チェック
DocType: Lead,Address Desc,住所種別
apps/erpnext/erpnext/accounts/doctype/pricing_rule/pricing_rule.py +33,Atleast one of the Selling or Buying must be selected,販売または購入のいずれかを選択する必要があります
-apps/erpnext/erpnext/stock/doctype/item/item.js +195,"Variants can not be created manually, add item attributes in the template item",「派生」は手動で作成することができません。テンプレートアイテムにアイテム属性を追加してください
+apps/erpnext/erpnext/stock/doctype/item/item.js +195,"Variants can not be created manually, add item attributes in the template item",「バリエーション」は手動で作成することができません。テンプレートアイテムにアイテム属性を追加してください
apps/erpnext/erpnext/config/manufacturing.py +34,Where manufacturing operations are carried.,製造作業が行なわれる場所
DocType: Page,All,すべて
DocType: Stock Entry Detail,Source Warehouse,出庫元
@@ -2683,7 +2683,7 @@
DocType: Lead,Lead Owner,リード所有者
apps/erpnext/erpnext/accounts/page/accounts_browser/accounts_browser.js +245,Warehouse is required,倉庫が必要です
DocType: Employee,Marital Status,配偶者の有無
-DocType: Stock Settings,Auto Material Request,自動材料要求
+DocType: Stock Settings,Auto Material Request,自動資材要求
DocType: Time Log,Will be updated when billed.,記帳時に更新されます。
apps/erpnext/erpnext/manufacturing/doctype/bom_replace_tool/bom_replace_tool.py +25,Current BOM and New BOM can not be same,「現在の部品表」と「新しい部品表」は同じにすることはできません
apps/erpnext/erpnext/hr/doctype/employee/employee.py +111,Date Of Retirement must be greater than Date of Joining,退職日は入社日より後でなければなりません
@@ -2725,7 +2725,7 @@
apps/erpnext/erpnext/accounts/page/accounts_browser/accounts_browser.js +196,Select a group node first.,はじめにグループノードを選択してください
apps/erpnext/erpnext/stock/doctype/stock_entry/stock_entry.py +76,Purpose must be one of {0},目的は、{0}のいずれかである必要があります
apps/erpnext/erpnext/hr/doctype/expense_claim/expense_claim.js +105,Fill the form and save it,フォームに入力して保存します
-DocType: Production Planning Tool,Download a report containing all raw materials with their latest inventory status,最新の在庫状況とのすべての原料を含むレポートをダウンロード
+DocType: Production Planning Tool,Download a report containing all raw materials with their latest inventory status,最新の在庫状況とのすべての原材料を含むレポートをダウンロード
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/operations.py +93,Facing,対向
DocType: Leave Application,Leave Balance Before Application,申請前休暇残数
DocType: SMS Center,Send SMS,SMSを送信
@@ -2753,7 +2753,7 @@
DocType: Product Bundle,List items that form the package.,梱包を形成するリストアイテム
apps/erpnext/erpnext/accounts/doctype/monthly_distribution/monthly_distribution.py +26,Percentage Allocation should be equal to 100%,割合の割り当ては100パーセントに等しくなければなりません
DocType: Serial No,Out of AMC,年間保守契約外
-DocType: Purchase Order Item,Material Request Detail No,材料要求の詳細番号
+DocType: Purchase Order Item,Material Request Detail No,資材要求の詳細番号
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/operations.py +96,Hard turning,ハードターニング
apps/erpnext/erpnext/support/doctype/maintenance_schedule/maintenance_schedule.js +33,Make Maintenance Visit,メンテナンス訪問を作成
apps/erpnext/erpnext/selling/doctype/customer/customer.py +168,Please contact to the user who have Sales Master Manager {0} role,販売マスターマネージャー{0}の役割を持っているユーザーに連絡してください
@@ -2821,7 +2821,7 @@
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/operations.py +116,Electroplating,電気めっき
DocType: Purchase Invoice Item,Rate,単価/率
apps/erpnext/erpnext/setup/page/setup_wizard/install_fixtures.py +62,Intern,インターン
-DocType: Manage Variants Item,Manage Variants Item,バリアント項目を管理します
+DocType: Manage Variants Item,Manage Variants Item,バリエーションアイテム管理
DocType: Newsletter,A Lead with this email id should exist,このメールアドレスを持つリードが必要です
DocType: Stock Entry,From BOM,参照元部品表
DocType: Time Log,Billing Rate (per hour),請求料率(毎時)
@@ -2838,7 +2838,7 @@
価格ルール:{0}"
DocType: Account,Bank,銀行
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/industry_type.py +8,Airline,航空会社
-apps/erpnext/erpnext/stock/doctype/material_request/material_request.js +512,Issue Material,課題材料
+apps/erpnext/erpnext/stock/doctype/material_request/material_request.js +512,Issue Material,資材課題
DocType: Material Request Item,For Warehouse,倉庫用
DocType: Employee,Offer Date,雇用契約日
DocType: Hub Settings,Access Token,アクセストークン
@@ -2864,7 +2864,7 @@
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/operations.py +97,Drilling,訓練
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/operations.py +27,Blow molding,ブロー成形
DocType: Purchase Taxes and Charges,Valuation and Total,評価と総合
-apps/erpnext/erpnext/stock/doctype/item/item.js +35,This Item is a Variant of {0} (Template). Attributes will be copied over from the template unless 'No Copy' is set,この商品は、{0}(テンプレート)のバリアントです。「コピーしない」が設定されていない限り、属性は、テンプレートからコピーされます
+apps/erpnext/erpnext/stock/doctype/item/item.js +35,This Item is a Variant of {0} (Template). Attributes will be copied over from the template unless 'No Copy' is set,この商品は、{0}(テンプレート)のバリエーションです。「コピーしない」が設定されていない限り、属性は、テンプレートからコピーされます
DocType: Account,Purchase User,仕入ユーザー
DocType: Sales Order,Customer's Purchase Order Number,顧客の発注番号
DocType: Notification Control,Customize the Notification,通知をカスタマイズ
@@ -2906,14 +2906,14 @@
apps/erpnext/erpnext/controllers/trends.py +19,Total(Amt),合計(数)
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/industry_type.py +25,Entertainment & Leisure,エンターテインメント&レジャー
DocType: Purchase Order,The date on which recurring order will be stop,繰り返し注文停止予定日
-apps/erpnext/erpnext/stock/doctype/item_attribute/item_attribute.py +36,Attribute Value {0} cannot be removed from {1} as Item Variants exist with this Attribute.,属性値は{0} {1}項目バリアントがこの属性に存在するようにから削除することはできません。
+apps/erpnext/erpnext/stock/doctype/item_attribute/item_attribute.py +36,Attribute Value {0} cannot be removed from {1} as Item Variants exist with this Attribute.,この属性値{0}にはアイテムバリエーションがあるため、属性値を{1}から削除することはできません
DocType: Quality Inspection,Item Serial No,アイテムシリアル番号
apps/erpnext/erpnext/controllers/status_updater.py +116,{0} must be reduced by {1} or you should increase overflow tolerance,{0}は {1}より減少させなければならないか、オーバーフロー許容値を増やす必要があります
apps/erpnext/erpnext/hr/report/monthly_attendance_sheet/monthly_attendance_sheet.py +56,Total Present,総現在価値
apps/erpnext/erpnext/setup/page/setup_wizard/setup_wizard.js +627,Hour,時
apps/erpnext/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py +138,"Serialized Item {0} cannot be updated \
using Stock Reconciliation",シリアル番号が付与されたアイテム{0}は「在庫棚卸」を使用して更新することはできません
-apps/erpnext/erpnext/buying/doctype/purchase_order/purchase_order.js +476,Transfer Material to Supplier,サプライヤーに材料を配送
+apps/erpnext/erpnext/buying/doctype/purchase_order/purchase_order.js +476,Transfer Material to Supplier,サプライヤーに資材を配送
apps/erpnext/erpnext/stock/doctype/serial_no/serial_no.py +30,New Serial No cannot have Warehouse. Warehouse must be set by Stock Entry or Purchase Receipt,新しいシリアル番号には倉庫を指定することができません。倉庫は在庫エントリーか領収書によって設定する必要があります
DocType: Lead,Lead Type,リードタイプ
apps/erpnext/erpnext/crm/doctype/opportunity/opportunity.js +77,Create Quotation,見積を登録
@@ -2979,7 +2979,7 @@
DocType: Contact Us Settings,Address Line 2,住所2行目
DocType: ToDo,Reference,リファレンス
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/operations.py +58,Perforating,穿孔
-apps/erpnext/erpnext/stock/doctype/manage_variants/manage_variants.py +65,Selected Item cannot have Variants.,選択した項目は、バリアントを持つことはできません。
+apps/erpnext/erpnext/stock/doctype/manage_variants/manage_variants.py +65,Selected Item cannot have Variants.,選択した項目は、バリエーションを持つことはできません。
apps/erpnext/erpnext/stock/report/batch_wise_balance_history/batch_wise_balance_history.py +36,Out Qty,出量
apps/erpnext/erpnext/config/accounts.py +123,Rules to calculate shipping amount for a sale,販売のために出荷量を計算するルール
apps/erpnext/erpnext/selling/doctype/customer/customer.py +31,Series is mandatory,シリーズは必須です
@@ -3084,7 +3084,7 @@
DocType: Naming Series,Check this if you want to force the user to select a series before saving. There will be no default if you check this.,あなたが保存する前に、一連の選択をユーザに強制したい場合は、これを確認してください。これをチェックするとデフォルトはありません。
apps/erpnext/erpnext/stock/get_item_details.py +107,No Item with Serial No {0},シリアル番号{0}のアイテムはありません
apps/erpnext/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py +68,Direct Expenses,直接経費
-apps/erpnext/erpnext/stock/doctype/material_request/material_request.js +646,Do you really want to UNSTOP this Material Request?,この材料要求の停止を解除しますか?
+apps/erpnext/erpnext/stock/doctype/material_request/material_request.js +646,Do you really want to UNSTOP this Material Request?,この資材要求の停止を解除しますか?
apps/erpnext/erpnext/selling/report/customer_acquisition_and_loyalty/customer_acquisition_and_loyalty.py +60,New Customer Revenue,新規顧客の収益
apps/erpnext/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py +132,Travel Expenses,旅費交通費
DocType: Maintenance Visit,Breakdown,故障
@@ -3109,7 +3109,7 @@
apps/erpnext/erpnext/accounts/report/purchase_register/purchase_register.py +65,Supplier Id,サプライヤーID
DocType: Journal Entry,Cash Entry,現金エントリー
DocType: Sales Partner,Contact Desc,連絡先説明
-apps/erpnext/erpnext/stock/doctype/manage_variants/manage_variants.py +158,Item Variants {0} created,アイテム派生{0}を作成しました
+apps/erpnext/erpnext/stock/doctype/manage_variants/manage_variants.py +158,Item Variants {0} created,アイテムバリエーション{0}を作成しました
apps/erpnext/erpnext/config/hr.py +135,"Type of leaves like casual, sick etc.",休暇の種類(欠勤・病欠など)
DocType: Email Digest,Send regular summary reports via Email.,メール経由で定期的な要約レポートを送信
DocType: Brand,Item Manager,項目マネージャ
@@ -3242,7 +3242,7 @@
apps/erpnext/erpnext/stock/doctype/material_request/material_request.js +503,Make Supplier Quotation,サプライヤ見積を作成
DocType: Quality Inspection,Incoming,収入
apps/erpnext/erpnext/stock/doctype/item/item.py +131,"Default Unit of Measure can not be changed directly because you have already made some transaction(s) with another UOM. To change default UOM, use 'UOM Replace Utility' tool under Stock module.",すでに別の単位で一部の取引を行っているため、デフォルトの単位を直接変更することはできません。デフォルトの単位を変更するには、在庫モジュール下の「単位変換ユーティリティ」ツールを使用します。
-DocType: BOM,Materials Required (Exploded),材料が必要です(展開)
+DocType: BOM,Materials Required (Exploded),資材が必要です(展開)
DocType: Salary Structure Earning,Reduce Earning for Leave Without Pay (LWP),無給休暇(LWP)の所得減
apps/erpnext/erpnext/setup/page/setup_wizard/setup_wizard.js +512,"Add users to your organization, other than yourself",自分以外の、組織にユーザーを追加します
apps/erpnext/erpnext/setup/page/setup_wizard/install_fixtures.py +44,Casual Leave,臨時休暇
@@ -3291,19 +3291,19 @@
apps/erpnext/erpnext/accounts/doctype/sales_invoice/sales_invoice.py +410,Sales Order {0} is not submitted,受注{0}は提出されていません
apps/erpnext/erpnext/stock/doctype/warehouse/warehouse.py +74,Warehouse {0}: Parent account {1} does not bolong to the company {2},倉庫{0}:親口座{1}は会社{2}に属していません
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/operations.py +123,Spindle finishing,スピンドル仕上げ
-DocType: Material Request,% of materials ordered against this Material Request,この材料要求に対して受注した材料の%
+DocType: Material Request,% of materials ordered against this Material Request,%の資材が注文済(この資材要求を対象)
DocType: BOM,Last Purchase Rate,最新の仕入料金
DocType: Account,Asset,資産
DocType: Project Task,Task ID,タスクID
apps/erpnext/erpnext/setup/page/setup_wizard/setup_wizard.js +395,"e.g. ""MC""",例「MC」
-apps/erpnext/erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.py +82,Stock cannot exist for Item {0} since has variants,派生を有しているのでアイテム{0}の在庫は存在させることができません
+apps/erpnext/erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.py +82,Stock cannot exist for Item {0} since has variants,バリエーションを有しているのでアイテム{0}の在庫は存在させることができません
,Sales Person-wise Transaction Summary,各営業担当者の取引概要
DocType: System Settings,Time Zone,時間帯
apps/erpnext/erpnext/stock/doctype/warehouse/warehouse.py +104,Warehouse {0} does not exist,倉庫{0}は存在しません
apps/erpnext/erpnext/hub_node/page/hub/register_in_hub.html +2,Register For ERPNext Hub,ERPNext Hubに登録する
DocType: Monthly Distribution,Monthly Distribution Percentages,月次配分割合
apps/erpnext/erpnext/stock/doctype/batch/batch.py +16,The selected item cannot have Batch,選択した項目はバッチを持てません
-DocType: Delivery Note,% of materials delivered against this Delivery Note,%の材料が納品済(この納品書を対象)
+DocType: Delivery Note,% of materials delivered against this Delivery Note,%の資材が納品済(この納品書を対象)
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/operations.py +150,Stapling,ステープル
DocType: Customer,Customer Details,顧客の詳細
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/operations.py +104,Shaping,形削り
@@ -3313,7 +3313,7 @@
apps/erpnext/erpnext/accounts/doctype/period_closing_voucher/period_closing_voucher.py +25,Closing Account {0} must be of type 'Liability',決算{0}はタイプ「負債」でなければなりません
,Available Stock for Packing Items,梱包可能な在庫
apps/erpnext/erpnext/controllers/stock_controller.py +237,Reserved Warehouse is missing in Sales Order,受注に予約倉庫がありません
-DocType: Item Variant,Item Variant,アイテムバリアント
+DocType: Item Variant,Item Variant,アイテムバリエーション
apps/erpnext/erpnext/utilities/doctype/address_template/address_template.py +15,Setting this Address Template as default as there is no other default,他にデフォルトがないので、このアドレステンプレートをデフォルトとして設定します
apps/erpnext/erpnext/accounts/doctype/account/account.py +71,"Account balance already in Debit, you are not allowed to set 'Balance Must Be' as 'Credit'",口座残高がすでに借方に存在しており、「残高仕訳先」を「貸方」に設定することはできません
apps/erpnext/erpnext/setup/page/setup_wizard/install_fixtures.py +76,Quality Management,品質管理
@@ -3352,7 +3352,7 @@
For Example: If you are selling Laptops and Backpacks separately and have a special price if the customer buys both, then the Laptop + Backpack will be a new Product Bundle Item.
-Note: BOM = Bill of Materials",別の**項目に**アイテムの集合グループ** **。あなたがパッケージに**特定**アイテムをバンドルしていて、**詰め**アイテム**はなく、集計の株式**項目を維持する場合に便利です。パッケージ**アイテム**「いいえ」として「在庫項目である」と「はい」と「販売項目である」必要があります。例:あなたが個別にラップトップとバックパックを販売し、顧客は両方を購入する場合は、特別な価格を持っている場合は、ノートパソコン+バックパックは、新しい製品バンドルアイテムになります。注:材料のBOM =ビル
+Note: BOM = Bill of Materials",「アイテム」をグループ化して別の「アイテム」に入れます。これはたとえば、ある複数の「アイテム」を梱包し、個別の「アイテム」ではなく梱包された「アイテム」の在庫を管理するような場合に便利です。梱包「アイテム」は「在庫アイテム」が「いいえ」となり、「販売アイテム」が「はい」になります。例えば:ノートパソコンとリュックサックを別々に販売しているとして、顧客が両方を購入した場合に特別価格とするような場合、ノートパソコン+リュックサック、という新たな製品付属品アイテムとなります。(注)BOM =部品表
apps/erpnext/erpnext/selling/doctype/installation_note/installation_note.py +44,Serial No is mandatory for Item {0},アイテム{0}にはシリアル番号が必須です
DocType: Variant Attribute,Attribute,属性
sites/assets/js/desk.min.js +622,Created By,によって作成された
@@ -3377,8 +3377,8 @@
DocType: Account,Receivable,売掛金
DocType: Accounts Settings,Role that is allowed to submit transactions that exceed credit limits set.,設定された与信限度額を超えた取引を提出することが許可されている役割
DocType: Sales Invoice,Supplier Reference,サプライヤーリファレンス
-DocType: Production Planning Tool,"If checked, BOM for sub-assembly items will be considered for getting raw materials. Otherwise, all sub-assembly items will be treated as a raw material.",チェックすると、部分組立品アイテムの「部品表」が原材料を得るように考慮されます。そうでなければ、全ての部分組立品アイテムが原料として扱われます。
-DocType: Material Request,Material Issue,材料課題
+DocType: Production Planning Tool,"If checked, BOM for sub-assembly items will be considered for getting raw materials. Otherwise, all sub-assembly items will be treated as a raw material.",チェックすると、部分組立品アイテムの「部品表」に原材料が組み込まれます。そうでなければ、全ての部分組立品アイテムが原材料として扱われます。
+DocType: Material Request,Material Issue,資材課題
DocType: Hub Settings,Seller Description,販売者の説明
DocType: Shopping Cart Price List,Shopping Cart Price List,ショッピングカート価格表
DocType: Employee Education,Qualification,資格
@@ -3402,7 +3402,7 @@
apps/erpnext/erpnext/manufacturing/doctype/production_order/production_order.py +161,Cannot cancel because submitted Stock Entry {0} exists,登録済みの在庫エントリ{0}が存在するため、キャンセルすることができません
DocType: Purchase Invoice,In Words,文字表記
apps/erpnext/erpnext/hr/doctype/employee/employee.py +208,Today is {0}'s birthday!,今日は {0} の誕生日です!
-DocType: Production Planning Tool,Material Request For Warehouse,倉庫への材料要求
+DocType: Production Planning Tool,Material Request For Warehouse,倉庫への資材要求
DocType: Sales Order Item,For Production,生産用
apps/erpnext/erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.py +99,Please enter sales order in the above table,上記の表に受注を入力してください
DocType: Project Task,View Task,タスク表示
@@ -3595,7 +3595,7 @@
apps/erpnext/erpnext/accounts/report/accounts_receivable/accounts_receivable.html +69,Total Paid Amt,支出額合計
DocType: SMS Center,Messages greater than 160 characters will be split into multiple messages,160文字を超えるメッセージは複数のメッセージに分割されます
DocType: Purchase Receipt Item,Received and Accepted,受領・承認済
-DocType: Item Attribute,"Lower the number, higher the priority in the Item Code suffix that will be created for this Item Attribute for the Item Variant","アイテム派生の場合に、アイテムコード内の接尾辞として、このアイテム属性が生成される。
+DocType: Item Attribute,"Lower the number, higher the priority in the Item Code suffix that will be created for this Item Attribute for the Item Variant","アイテムバリエーションの場合に、アイテムコード内の接尾辞として、このアイテム属性が生成される。
小さい数字が高い優先順位となる。"
,Serial No Service Contract Expiry,シリアル番号(サービス契約の有効期限)
DocType: Item,Unit of Measure Conversion,メジャー変換の単位
@@ -3717,9 +3717,9 @@
apps/erpnext/erpnext/config/accounts.py +107,Default settings for accounting transactions.,会計処理のデフォルト設定。
apps/frappe/frappe/model/naming.py +40,{0} is required,{0}が必要です
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/operations.py +20,Vacuum molding,真空成形
-apps/erpnext/erpnext/stock/doctype/material_request/material_request.py +57,Expected Date cannot be before Material Request Date,予定日は材料要求日の前にすることはできません
+apps/erpnext/erpnext/stock/doctype/material_request/material_request.py +57,Expected Date cannot be before Material Request Date,予定日は資材要求日の前にすることはできません
DocType: Contact Us Settings,City,都市
-apps/erpnext/erpnext/config/stock.py +89,Manage Item Variants.,項目バリアントを管理します。
+apps/erpnext/erpnext/config/stock.py +89,Manage Item Variants.,アイテムバリエーションを管理
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/operations.py +131,Ultrasonic machining,超音波加工
apps/frappe/frappe/templates/base.html +133,Error: Not a valid id?,エラー:ない有効なID?
apps/erpnext/erpnext/stock/get_item_details.py +125,Item {0} must be a Sales Item,アイテム{0}は販売アイテムでなければなりません
@@ -3732,7 +3732,7 @@
apps/erpnext/erpnext/accounts/doctype/sales_invoice/sales_invoice.py +324,Item Code required at Row No {0},行番号{0}にアイテムコードが必要です
DocType: Sales Partner,Partner Type,パートナーの種類
DocType: Purchase Taxes and Charges,Actual,実際
-DocType: Purchase Order,% of materials received against this Purchase Order,この発注書に対して受領した材料の%
+DocType: Purchase Order,% of materials received against this Purchase Order,%の資材が受領済(この発注書を対象)
DocType: Authorization Rule,Customerwise Discount,顧客ごと割引
DocType: Purchase Invoice,Against Expense Account,対経費
DocType: Production Order,Production Order,製造指示
@@ -3764,7 +3764,7 @@
apps/erpnext/erpnext/accounts/report/accounts_receivable/accounts_receivable.html +19,Invoiced Amount,請求された額
DocType: Attendance,Attendance,出勤
DocType: Page,No,いいえ
-DocType: BOM,Materials,材料
+DocType: BOM,Materials,資材
DocType: Leave Block List,"If not checked, the list will have to be added to each Department where it has to be applied.",チェックされていない場合、リストを適用先の各カテゴリーに追加しなくてはなりません
apps/erpnext/erpnext/accounts/doctype/sales_invoice/sales_invoice.js +647,Make Delivery,納品を作成
apps/erpnext/erpnext/stock/doctype/stock_entry/stock_entry.py +249,Posting date and posting time is mandatory,転記日時は必須です
@@ -3833,7 +3833,7 @@
apps/erpnext/erpnext/config/setup.py +88,Create rules to restrict transactions based on values.,値に基づいて取引を制限するルールを作成
DocType: HR Settings,"If checked, Total no. of Working Days will include holidays, and this will reduce the value of Salary Per Day",チェックした場合、営業日数は全て祝日を含みますが、これにより1日あたりの給与の値は小さくなります
DocType: Purchase Invoice,Total Advance,前払金計
-apps/erpnext/erpnext/stock/doctype/material_request/material_request.js +544,Unstop Material Request,材料要求停止解除
+apps/erpnext/erpnext/stock/doctype/material_request/material_request.js +544,Unstop Material Request,資材要求停止解除
DocType: Workflow State,User,ユーザー
DocType: Opportunity Item,Basic Rate,基本料金
apps/erpnext/erpnext/crm/doctype/opportunity/opportunity.js +122,Set as Lost,失注として設定
@@ -3891,7 +3891,7 @@
apps/erpnext/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py +233,Please enter Expense Account,経費勘定を入力してください
DocType: Account,Stock,在庫
DocType: Employee,Current Address,現住所
-DocType: Item,"If item is a variant of another item then description, image, pricing, taxes etc will be set from the template unless explicitly specified",アイテムが別のアイテムの派生である場合には、明示的に指定しない限り、その後の説明、画像、価格、税金などはテンプレートから設定されます
+DocType: Item,"If item is a variant of another item then description, image, pricing, taxes etc will be set from the template unless explicitly specified",アイテムが別のアイテムのバリエーションである場合には、明示的に指定しない限り、その後の説明、画像、価格、税金などはテンプレートから設定されます
DocType: Serial No,Purchase / Manufacture Details,仕入/製造の詳細
DocType: Employee,Contract End Date,契約終了日
DocType: Sales Order,Track this Sales Order against any Project,任意のプロジェクトに対して、この受注を追跡します
@@ -3912,7 +3912,7 @@
apps/erpnext/erpnext/accounts/doctype/journal_entry/journal_entry.py +81,Row {0}: Party Type and Party is only applicable against Receivable / Payable account,行{0}:パーティー種類と党は売掛金/買掛金勘定に対してのみ適用されます
DocType: Notification Control,Purchase Receipt Message,領収書のメッセージ
DocType: Production Order,Actual Start Date,実際の開始日
-DocType: Sales Order,% of materials delivered against this Sales Order,%の材料が納品済(この受注を対象)
+DocType: Sales Order,% of materials delivered against this Sales Order,%の資材が納品済(この受注を対象)
apps/erpnext/erpnext/config/stock.py +18,Record item movement.,レコードアイテムの移動
DocType: Newsletter List Subscriber,Newsletter List Subscriber,ニュースレターリスト購読者
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/operations.py +163,Morticing,Morticing
@@ -3933,7 +3933,7 @@
apps/erpnext/erpnext/accounts/doctype/payment_tool/payment_tool.js +191,Row {0}: Payment Amount cannot be greater than Outstanding Amount,行{0}:支払金額は残高を超えることはできません
apps/erpnext/erpnext/buying/doctype/supplier/supplier.js +46,Total Unpaid,未払いの合計
apps/erpnext/erpnext/projects/doctype/time_log/time_log_list.js +21,Time Log is not billable,時間ログは請求できません
-apps/erpnext/erpnext/stock/get_item_details.py +128,"Item {0} is a template, please select one of its variants",アイテム{0}はテンプレートです。派生のいずれかを選択してください
+apps/erpnext/erpnext/stock/get_item_details.py +128,"Item {0} is a template, please select one of its variants",アイテム{0}はテンプレートです。バリエーションのいずれかを選択してください
apps/erpnext/erpnext/setup/page/setup_wizard/setup_wizard.js +528,Purchaser,購入者
apps/erpnext/erpnext/hr/doctype/salary_structure/salary_structure.py +81,Net pay cannot be negative,給与をマイナスにすることはできません
apps/erpnext/erpnext/accounts/doctype/payment_tool/payment_tool.py +70,Please enter the Against Vouchers manually,伝票を入力してください
@@ -3977,7 +3977,7 @@
apps/erpnext/erpnext/config/selling.py +121,Terms and Conditions Template,規約のテンプレート
DocType: Serial No,Delivery Details,納品詳細
apps/erpnext/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py +363,Cost Center is required in row {0} in Taxes table for type {1},タイプ{1}のための税金テーブルの行{0}にコストセンターが必要です
-DocType: Item,Automatically create Material Request if quantity falls below this level,量がこのレベルを下回った場合、自動的に素材のリクエストを作成します
+DocType: Item,Automatically create Material Request if quantity falls below this level,量がこのレベルを下回った場合、自動的に資材要求を作成します
,Item-wise Purchase Register,アイテムごとの仕入登録
DocType: Batch,Expiry Date,有効期限
,Supplier Addresses and Contacts,サプライヤー住所・連絡先
diff --git a/erpnext/translations/ko.csv b/erpnext/translations/ko.csv
index e1f44bd..bde3a83 100644
--- a/erpnext/translations/ko.csv
+++ b/erpnext/translations/ko.csv
@@ -1003,7 +1003,7 @@
apps/erpnext/erpnext/config/learn.py +77,Opening Accounting Balance,개시 잔고
DocType: Sales Invoice Advance,Sales Invoice Advance,선행 견적서
apps/erpnext/erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.py +391,Nothing to request,요청하지 마
-apps/erpnext/erpnext/projects/doctype/task/task.py +38,'Actual Start Date' can not be greater than 'Actual End Date','실제 시작 날짜는'실제 종료 날짜 '보다 클 수 없습니다
+apps/erpnext/erpnext/projects/doctype/task/task.py +38,'Actual Start Date' can not be greater than 'Actual End Date','시작 날짜가' '종료 날짜 '보다 클 수 없습니다
apps/erpnext/erpnext/setup/page/setup_wizard/install_fixtures.py +75,Management,관리
apps/erpnext/erpnext/config/projects.py +33,Types of activities for Time Sheets,시간 시트를위한 활동의 종류
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/operations.py +13,Investment casting,투자 주조
@@ -1766,7 +1766,7 @@
apps/erpnext/erpnext/controllers/stock_controller.py +167,Expense or Difference account is mandatory for Item {0} as it impacts overall stock value,비용이나 차이 계정은 필수 항목에 대한 {0}에 영향을 미치기 전체 재고 가치로
apps/erpnext/erpnext/controllers/accounts_controller.py +299,"Cannot overbill for Item {0} in row {1} more than {2}. To allow overbilling, please set in Stock Settings",행의 항목 {0}에 대한 청구 되요 수 없습니다 {1}보다 {2}.과다 청구가 재고 설정에서 설정하시기 바랍니다 허용하려면
DocType: Employee,Bank Name,은행 이름
-apps/erpnext/erpnext/accounts/report/accounts_receivable/accounts_receivable.py +38,-Above,-Above
+apps/erpnext/erpnext/accounts/report/accounts_receivable/accounts_receivable.py +38,-Above,-위
apps/erpnext/erpnext/hr/doctype/employee/employee.py +135,User {0} is disabled,{0} 사용자가 비활성화되어 있습니다
DocType: Leave Application,Total Leave Days,총 허가 일
DocType: Email Digest,Note: Email will not be sent to disabled users,참고 : 전자 메일을 사용할 사용자에게 전송되지 않습니다
@@ -2509,7 +2509,7 @@
apps/erpnext/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py +236,"Difference Account must be a Asset/Liability type account, since this Stock Reconciliation is an Opening Entry","콘텐츠 화해는 열기 항목이기 때문에 차이 계정, 자산 / 부채 형 계정이어야합니다"
apps/erpnext/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py +123,Purchase Order number required for Item {0},구매 주문 번호 항목에 필요한 {0}
DocType: Leave Allocation,Carry Forwarded Leaves,전달 잎을 운반
-apps/erpnext/erpnext/stock/report/itemwise_recommended_reorder_level/itemwise_recommended_reorder_level.py +18,'From Date' must be after 'To Date','시작일자'는 '마감일자'이후 여야합니다
+apps/erpnext/erpnext/stock/report/itemwise_recommended_reorder_level/itemwise_recommended_reorder_level.py +18,'From Date' must be after 'To Date','시작일자'는 '마감일자'이후이 여야합니다
,Stock Projected Qty,재고 수량을 예상
apps/erpnext/erpnext/stock/doctype/delivery_note/delivery_note.py +132,Customer {0} does not belong to project {1},고객 {0} 프로젝트에 속하지 않는 {1}
DocType: Warranty Claim,From Company,회사에서
diff --git a/erpnext/translations/pt-BR.csv b/erpnext/translations/pt-BR.csv
index b299851..714bca1 100644
--- a/erpnext/translations/pt-BR.csv
+++ b/erpnext/translations/pt-BR.csv
@@ -516,7 +516,7 @@
apps/erpnext/erpnext/stock/doctype/serial_no/serial_no.py +172,"Sorry, Serial Nos cannot be merged","Desculpe, os números de ordem não podem ser mescladas"
DocType: Email Digest,New Supplier Quotations,Novas cotações de fornecedores
apps/erpnext/erpnext/selling/doctype/quotation/quotation.js +608,Make Sales Order,Criar ordem de vendas
-DocType: Project Task,Project Task,Projeto Tarefa
+DocType: Project Task,Project Task,Tarefa do Projeto
,Lead Id,chumbo Id
DocType: C-Form Invoice Detail,Grand Total,Total Geral
DocType: About Us Settings,Website Manager,Administrador do site
@@ -636,7 +636,7 @@
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/industry_type.py +6,Aerospace,Aeroespacial
apps/erpnext/erpnext/setup/page/setup_wizard/setup_wizard.js +19,Welcome,Bem vindo
DocType: Journal Entry,Credit Card Entry,Registro de cartão de crédito
-apps/erpnext/erpnext/projects/report/daily_time_log_summary/daily_time_log_summary.py +18,Task Subject,Tarefa Assunto
+apps/erpnext/erpnext/projects/report/daily_time_log_summary/daily_time_log_summary.py +18,Task Subject,Assunto da Tarefa
apps/erpnext/erpnext/config/stock.py +28,Goods received from Suppliers.,Mercadorias recebidas de fornecedores.
DocType: Communication,Open,Abrir
DocType: Lead,Campaign Name,Nome da Campanha
@@ -1311,7 +1311,7 @@
apps/erpnext/erpnext/accounts/doctype/pricing_rule/pricing_rule.js +49,Customer > Customer Group > Territory,Cliente> Grupo Cliente> Território
DocType: Sales Invoice Item,Available Batch Qty at Warehouse,Lote disponível Qtde no Warehouse
DocType: Time Log Batch Detail,Time Log Batch Detail,Tempo Log Detail Batch
-DocType: Workflow State,Tasks,tarefas
+DocType: Workflow State,Tasks,Tarefas
DocType: Landed Cost Voucher,Landed Cost Help,Landed Cost Ajuda
DocType: Event,Tuesday,Terça-feira
DocType: Leave Block List,Block Holidays on important days.,Bloco Feriados em dias importantes.
@@ -1354,7 +1354,7 @@
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/operations.py +7,Centrifugal casting,Fundição centrífuga
apps/erpnext/erpnext/setup/page/setup_wizard/fixtures/operations.py +118,Magnetic field-assisted finishing,Magnetic acabamento assistida-campo
DocType: Company,Default Holiday List,Lista Padrão de Feriados
-apps/erpnext/erpnext/projects/doctype/time_log/time_log.py +229,Task is Mandatory if Time Log is against a project,Tarefa é obrigatória se o Time Log é contra um projeto
+apps/erpnext/erpnext/projects/doctype/time_log/time_log.py +229,Task is Mandatory if Time Log is against a project,Tarefa é obrigatória se o registro de atividade é contra um projeto
apps/erpnext/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py +165,Stock Liabilities,Passivo estoque
DocType: Purchase Receipt,Supplier Warehouse,Almoxarifado do Fornecedor
DocType: Opportunity,Contact Mobile No,Celular do Contato
@@ -1388,7 +1388,7 @@
apps/erpnext/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py +91,Conversion rate cannot be 0 or 1,A taxa de conversão não pode ser 0 ou 1
DocType: Accounts Settings,Credit Controller,Controlador de crédito
DocType: Delivery Note,Vehicle Dispatch Date,Veículo Despacho Data
-apps/erpnext/erpnext/hr/doctype/expense_claim/expense_claim.py +56,Task is mandatory if Expense Claim is against a Project,Tarefa é obrigatória se Despesa reivindicação é contra um projeto
+apps/erpnext/erpnext/hr/doctype/expense_claim/expense_claim.py +56,Task is mandatory if Expense Claim is against a Project,Tarefa é obrigatória se a Reinvindicação de Despesa é contra um projeto
apps/erpnext/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py +189,Purchase Receipt {0} is not submitted,Recibo de compra {0} não é submetido
DocType: Company,Default Payable Account,Conta a Pagar Padrão
apps/erpnext/erpnext/config/website.py +13,"Settings for online shopping cart such as shipping rules, price list etc.","Definições para carrinho de compras on-line, tais como regras de navegação, lista de preços etc."
@@ -3275,7 +3275,7 @@
DocType: Material Request,% of materials ordered against this Material Request,% do material encomendado contra esta Requisição de Material
DocType: BOM,Last Purchase Rate,Valor da última compra
DocType: Account,Asset,Ativo
-DocType: Project Task,Task ID,Task ID
+DocType: Project Task,Task ID,ID Tarefa
apps/erpnext/erpnext/setup/page/setup_wizard/setup_wizard.js +395,"e.g. ""MC""","por exemplo "" MC """
apps/erpnext/erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.py +82,Stock cannot exist for Item {0} since has variants,Stock não pode existir por item {0} já que tem variantes
,Sales Person-wise Transaction Summary,Resumo da transação Pessoa-wise vendas
@@ -3386,7 +3386,7 @@
DocType: Production Planning Tool,Material Request For Warehouse,Pedido de material para Armazém
DocType: Sales Order Item,For Production,Para Produção
apps/erpnext/erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.py +99,Please enter sales order in the above table,Por favor entre pedidos de vendas na tabela acima
-DocType: Project Task,View Task,Ver Task
+DocType: Project Task,View Task,Ver Tarefa
apps/erpnext/erpnext/setup/page/setup_wizard/setup_wizard.js +406,Your financial year begins on,O ano financeiro inicia em
apps/erpnext/erpnext/stock/doctype/landed_cost_voucher/landed_cost_voucher.py +46,Please enter Purchase Receipts,Digite recibos de compra
DocType: Sales Invoice,Get Advances Received,Obter adiantamentos recebidos
diff --git a/erpnext/translations/zh-tw.csv b/erpnext/translations/zh-tw.csv
index 3628cb4..c47f7c8 100644
--- a/erpnext/translations/zh-tw.csv
+++ b/erpnext/translations/zh-tw.csv
@@ -260,7 +260,7 @@
apps/erpnext/erpnext/hr/doctype/leave_application/leave_application.py +349,Leave Blocked,禁假的
apps/erpnext/erpnext/stock/doctype/item/item.py +349,Item {0} has reached its end of life on {1},項{0}已達到其壽命結束於{1}
apps/erpnext/erpnext/accounts/utils.py +306,Annual,全年
-DocType: Stock Reconciliation Item,Stock Reconciliation Item,股票和解項目
+DocType: Stock Reconciliation Item,Stock Reconciliation Item,庫存調整項目
DocType: Purchase Invoice,In Words will be visible once you save the Purchase Invoice.,購買發票一被儲存,就會顯示出來。
DocType: Stock Entry,Sales Invoice No,銷售發票號碼
DocType: Material Request Item,Min Order Qty,最小訂貨量
@@ -349,7 +349,7 @@
apps/erpnext/erpnext/selling/doctype/sales_order/sales_order.py +208,{0} {1} status is Stopped,{0} {1}狀態為停止
apps/erpnext/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py +143,"Item: {0} managed batch-wise, can not be reconciled using \
Stock Reconciliation, instead use Stock Entry","項目:{0}管理分批,不能使用\
-股票和解,而是使用股票輸入不甘心"
+庫存調整,而是使用庫存分錄。"
apps/erpnext/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py +242,Purchase Invoice {0} is already submitted,採購發票{0}已經提交
apps/erpnext/erpnext/accounts/doctype/account/account.js +54,Convert to non-Group,轉換為非集團
apps/erpnext/erpnext/stock/doctype/landed_cost_voucher/landed_cost_voucher.py +55,Purchase Receipt must be submitted,購買收據必須提交
@@ -1503,7 +1503,7 @@
apps/erpnext/erpnext/hr/doctype/leave_application/leave_application.py +111,There is not enough leave balance for Leave Type {0},沒有足夠的餘額休假請假類型{0}
DocType: Sales Team,Contribution to Net Total,貢獻合計淨
DocType: Sales Invoice Item,Customer's Item Code,客戶的產品編號
-DocType: Stock Reconciliation,Stock Reconciliation,存貨對帳
+DocType: Stock Reconciliation,Stock Reconciliation,庫存調整
DocType: Territory,Territory Name,地區名稱
apps/erpnext/erpnext/manufacturing/doctype/production_order/production_order.py +148,Work-in-Progress Warehouse is required before Submit,工作在進展倉庫提交之前,需要
apps/erpnext/erpnext/config/hr.py +43,Applicant for a Job.,申請職位
@@ -2094,7 +2094,7 @@
DocType: Features Setup,Quality,品質
DocType: Contact Us Settings,Introduction,介紹
DocType: Warranty Claim,Service Address,服務地址
-apps/erpnext/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py +76,Max 100 rows for Stock Reconciliation.,最大100行的股票和解。
+apps/erpnext/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py +76,Max 100 rows for Stock Reconciliation.,庫存調整最多100行。
apps/erpnext/erpnext/accounts/doctype/journal_entry/journal_entry.py +104,Note: Reference Date exceeds invoice due date by {0} days for {1} {2},注:參考日期超過發票到期日期{0}天{1} {2}
DocType: Stock Entry,Manufacture,製造
apps/erpnext/erpnext/stock/doctype/packing_slip/packing_slip.js +13,Please Delivery Note first,請送貨單第一
@@ -2505,7 +2505,7 @@
apps/erpnext/erpnext/stock/doctype/stock_entry/stock_entry.py +169,Source and target warehouse cannot be same for row {0},列{0}的來源和目標倉庫不可相同
DocType: Features Setup,Sales Extras,額外銷售
apps/erpnext/erpnext/accounts/utils.py +311,{0} budget for Account {1} against Cost Center {2} will exceed by {3},{0}預算帳戶{1}對成本中心{2}將超過{3}
-apps/erpnext/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py +236,"Difference Account must be a Asset/Liability type account, since this Stock Reconciliation is an Opening Entry",差異帳戶必須是資產/負債類型的帳戶,因為此股票和解是一個進入開幕
+apps/erpnext/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py +236,"Difference Account must be a Asset/Liability type account, since this Stock Reconciliation is an Opening Entry",差異帳戶必須是資產/負債類型的帳戶,因為此庫存調整是一個開始分錄
apps/erpnext/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py +123,Purchase Order number required for Item {0},所需物品{0}的採購訂單號
DocType: Leave Allocation,Carry Forwarded Leaves,進行轉發葉
apps/erpnext/erpnext/stock/report/itemwise_recommended_reorder_level/itemwise_recommended_reorder_level.py +18,'From Date' must be after 'To Date',“起始日期”必須經過'終止日期'
@@ -2774,7 +2774,7 @@
apps/erpnext/erpnext/setup/page/setup_wizard/setup_wizard.js +511,Add Users,添加用戶
DocType: Pricing Rule,Item Group,項目群組
DocType: Task,Actual Start Date (via Time Logs),實際開始日期(通過時間日誌)
-DocType: Stock Reconciliation Item,Before reconciliation,對帳前
+DocType: Stock Reconciliation Item,Before reconciliation,調整前
apps/erpnext/erpnext/support/doctype/maintenance_visit/maintenance_visit.py +12,To {0},{0}
DocType: Purchase Invoice,Taxes and Charges Added (Company Currency),稅收和收費上架(公司貨幣)
apps/erpnext/erpnext/stock/doctype/item/item.py +192,Item Tax Row {0} must have account of type Tax or Income or Expense or Chargeable,商品稅行{0}必須有帳戶類型稅或收入或支出或課稅的
@@ -2894,7 +2894,7 @@
apps/erpnext/erpnext/setup/page/setup_wizard/setup_wizard.js +627,Hour,小時
apps/erpnext/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py +138,"Serialized Item {0} cannot be updated \
using Stock Reconciliation","系列化項目{0}不能被更新\
-使用存貨對帳"
+使用庫存調整"
apps/erpnext/erpnext/buying/doctype/purchase_order/purchase_order.js +476,Transfer Material to Supplier,轉印材料供應商
apps/erpnext/erpnext/stock/doctype/serial_no/serial_no.py +30,New Serial No cannot have Warehouse. Warehouse must be set by Stock Entry or Purchase Receipt,新的序列號不能有倉庫。倉庫必須由存貨分錄或採購入庫單進行設定
DocType: Lead,Lead Type,引線型
diff --git a/erpnext/utilities/doctype/address/address.json b/erpnext/utilities/doctype/address/address.json
index 81a58da..a83c66a 100644
--- a/erpnext/utilities/doctype/address/address.json
+++ b/erpnext/utilities/doctype/address/address.json
@@ -6,7 +6,7 @@
"custom": 0,
"docstatus": 0,
"doctype": "DocType",
- "document_type": "Master",
+ "document_type": "Setup",
"fields": [
{
"allow_on_submit": 0,
@@ -536,7 +536,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
- "modified": "2015-09-07 15:51:26",
+ "modified": "2015-09-14 02:55:53.462812",
"modified_by": "Administrator",
"module": "Utilities",
"name": "Address",
diff --git a/erpnext/utilities/doctype/address_template/address_template.json b/erpnext/utilities/doctype/address_template/address_template.json
index 27b34e5..6dfd184 100644
--- a/erpnext/utilities/doctype/address_template/address_template.json
+++ b/erpnext/utilities/doctype/address_template/address_template.json
@@ -7,7 +7,7 @@
"custom": 0,
"docstatus": 0,
"doctype": "DocType",
- "document_type": "Master",
+ "document_type": "Setup",
"fields": [
{
"allow_on_submit": 0,
@@ -85,7 +85,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
- "modified": "2015-02-05 05:11:34.356413",
+ "modified": "2015-09-14 02:55:53.732649",
"modified_by": "Administrator",
"module": "Utilities",
"name": "Address Template",
diff --git a/setup.py b/setup.py
index 2907338..4fdee05 100644
--- a/setup.py
+++ b/setup.py
@@ -1,6 +1,6 @@
from setuptools import setup, find_packages
-version = "6.1.1"
+version = "6.2.0"
with open("requirements.txt", "r") as f:
install_requires = f.readlines()