From c097a4fe6818aca9215a47434038fb4f84aecd7a Mon Sep 17 00:00:00 2001 From: bhupen Date: Wed, 23 Nov 2016 14:43:02 +0530 Subject: [PATCH 1/2] Changes in company doctype for chart of accounts --- .../chart_of_accounts/chart_of_accounts.py | 5 +- erpnext/setup/doctype/company/company.json | 267 +++++++++++++++++- 2 files changed, 265 insertions(+), 7 deletions(-) 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 5c82142706..7894e77e2a 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 @@ -66,9 +66,12 @@ def identify_is_group(child): def get_chart(chart_name): chart = {} - if chart_name == "Standard": + if chart_name == "Standard Template": from erpnext.accounts.doctype.account.chart_of_accounts.verified import standard_chart_of_accounts return standard_chart_of_accounts.get() + + + else: folders = ("verified",) if frappe.local.flags.allow_unverified_charts: diff --git a/erpnext/setup/doctype/company/company.json b/erpnext/setup/doctype/company/company.json index a003bde73f..3dedd53c5f 100644 --- a/erpnext/setup/doctype/company/company.json +++ b/erpnext/setup/doctype/company/company.json @@ -10,11 +10,13 @@ "docstatus": 0, "doctype": "DocType", "document_type": "Setup", + "editable_grid": 0, "fields": [ { "allow_on_submit": 0, "bold": 0, "collapsible": 0, + "columns": 0, "fieldname": "details", "fieldtype": "Section Break", "hidden": 0, @@ -22,6 +24,7 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, + "in_standard_filter": 0, "label": "", "length": 0, "no_copy": 0, @@ -30,6 +33,7 @@ "print_hide": 0, "print_hide_if_no_value": 0, "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 0, "search_index": 0, @@ -40,6 +44,7 @@ "allow_on_submit": 0, "bold": 0, "collapsible": 0, + "columns": 0, "fieldname": "company_name", "fieldtype": "Data", "hidden": 0, @@ -47,6 +52,7 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, + "in_standard_filter": 0, "label": "Company", "length": 0, "no_copy": 0, @@ -56,6 +62,7 @@ "print_hide": 0, "print_hide_if_no_value": 0, "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 1, "search_index": 0, @@ -66,6 +73,7 @@ "allow_on_submit": 0, "bold": 0, "collapsible": 0, + "columns": 0, "description": "", "fieldname": "abbr", "fieldtype": "Data", @@ -74,6 +82,7 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, + "in_standard_filter": 0, "label": "Abbr", "length": 0, "no_copy": 0, @@ -83,6 +92,7 @@ "print_hide": 0, "print_hide_if_no_value": 0, "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 1, "search_index": 0, @@ -93,6 +103,7 @@ "allow_on_submit": 0, "bold": 0, "collapsible": 0, + "columns": 0, "depends_on": "eval:!doc.__islocal && in_list(user_roles, \"System Manager\")", "fieldname": "change_abbr", "fieldtype": "Button", @@ -101,6 +112,7 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, + "in_standard_filter": 0, "label": "Change Abbreviation", "length": 0, "no_copy": 0, @@ -108,6 +120,7 @@ "print_hide": 0, "print_hide_if_no_value": 0, "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 0, "search_index": 0, @@ -118,6 +131,7 @@ "allow_on_submit": 0, "bold": 0, "collapsible": 0, + "columns": 0, "fieldname": "cb0", "fieldtype": "Column Break", "hidden": 0, @@ -125,12 +139,14 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, + "in_standard_filter": 0, "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, "print_hide_if_no_value": 0, "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 0, "search_index": 0, @@ -141,6 +157,7 @@ "allow_on_submit": 0, "bold": 0, "collapsible": 0, + "columns": 0, "fieldname": "domain", "fieldtype": "Select", "hidden": 0, @@ -148,6 +165,7 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, + "in_standard_filter": 0, "label": "Domain", "length": 0, "no_copy": 0, @@ -156,6 +174,7 @@ "print_hide": 0, "print_hide_if_no_value": 0, "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 0, "search_index": 0, @@ -166,6 +185,7 @@ "allow_on_submit": 0, "bold": 0, "collapsible": 0, + "columns": 0, "fieldname": "charts_section", "fieldtype": "Section Break", "hidden": 0, @@ -173,6 +193,7 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, + "in_standard_filter": 0, "label": "Default Values", "length": 0, "no_copy": 0, @@ -180,6 +201,7 @@ "print_hide": 0, "print_hide_if_no_value": 0, "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 0, "search_index": 0, @@ -190,6 +212,7 @@ "allow_on_submit": 0, "bold": 0, "collapsible": 0, + "columns": 0, "fieldname": "default_letter_head", "fieldtype": "Link", "hidden": 0, @@ -197,6 +220,7 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, + "in_standard_filter": 0, "label": "Default Letter Head", "length": 0, "no_copy": 0, @@ -206,6 +230,7 @@ "print_hide": 0, "print_hide_if_no_value": 0, "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 0, "search_index": 0, @@ -216,6 +241,7 @@ "allow_on_submit": 0, "bold": 0, "collapsible": 0, + "columns": 0, "fieldname": "default_holiday_list", "fieldtype": "Link", "hidden": 0, @@ -223,6 +249,7 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, + "in_standard_filter": 0, "label": "Default Holiday List", "length": 0, "no_copy": 0, @@ -232,6 +259,7 @@ "print_hide": 0, "print_hide_if_no_value": 0, "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 0, "search_index": 0, @@ -242,6 +270,7 @@ "allow_on_submit": 0, "bold": 0, "collapsible": 0, + "columns": 0, "fieldname": "default_terms", "fieldtype": "Link", "hidden": 0, @@ -249,6 +278,7 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, + "in_standard_filter": 0, "label": "Default Terms", "length": 0, "no_copy": 0, @@ -257,6 +287,7 @@ "print_hide": 0, "print_hide_if_no_value": 0, "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 0, "search_index": 0, @@ -267,6 +298,7 @@ "allow_on_submit": 0, "bold": 0, "collapsible": 0, + "columns": 0, "fieldname": "column_break_10", "fieldtype": "Column Break", "hidden": 0, @@ -274,6 +306,7 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, + "in_standard_filter": 0, "length": 0, "no_copy": 0, "permlevel": 0, @@ -281,6 +314,7 @@ "print_hide": 0, "print_hide_if_no_value": 0, "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 0, "search_index": 0, @@ -291,6 +325,7 @@ "allow_on_submit": 0, "bold": 0, "collapsible": 0, + "columns": 0, "fieldname": "country", "fieldtype": "Link", "hidden": 0, @@ -298,6 +333,7 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 1, + "in_standard_filter": 0, "label": "Country", "length": 0, "no_copy": 0, @@ -306,6 +342,7 @@ "print_hide": 0, "print_hide_if_no_value": 0, "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 1, "search_index": 0, @@ -316,6 +353,7 @@ "allow_on_submit": 0, "bold": 0, "collapsible": 0, + "columns": 0, "fieldname": "default_currency", "fieldtype": "Link", "hidden": 0, @@ -323,6 +361,7 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, + "in_standard_filter": 0, "label": "Default Currency", "length": 0, "no_copy": 0, @@ -331,6 +370,7 @@ "print_hide": 0, "print_hide_if_no_value": 0, "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 1, "search_index": 0, @@ -341,21 +381,23 @@ "allow_on_submit": 0, "bold": 0, "collapsible": 0, - "fieldname": "chart_of_accounts", - "fieldtype": "Select", + "columns": 0, + "fieldname": "column_break_14", + "fieldtype": "Column Break", "hidden": 0, - "ignore_user_permissions": 1, + "ignore_user_permissions": 0, "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, - "label": "Chart of Accounts", + "in_standard_filter": 0, "length": 0, "no_copy": 0, - "options": "", "permlevel": 0, + "precision": "", "print_hide": 0, "print_hide_if_no_value": 0, "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 0, "search_index": 0, @@ -366,6 +408,96 @@ "allow_on_submit": 0, "bold": 0, "collapsible": 0, + "columns": 0, + "fieldname": "create_chart_of_accounts_based_on", + "fieldtype": "Select", + "hidden": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_list_view": 0, + "in_standard_filter": 0, + "label": "Create Chart Of Accounts Based On", + "length": 0, + "no_copy": 0, + "options": "Standard Template\nExisting Company", + "permlevel": 0, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "read_only": 0, + "remember_last_selected_value": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, + "unique": 0 + }, + { + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "columns": 0, + "depends_on": "eval:doc.create_chart_of_accounts_based_on===\"Standard Template\"", + "fieldname": "chart_of_accounts", + "fieldtype": "Select", + "hidden": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_list_view": 0, + "in_standard_filter": 0, + "label": "Chart Of Accounts Template", + "length": 0, + "no_copy": 0, + "options": "", + "permlevel": 0, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "read_only": 0, + "remember_last_selected_value": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, + "unique": 0 + }, + { + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "columns": 0, + "depends_on": "eval:doc.create_chart_of_accounts_based_on===\"Existing Company\"", + "fieldname": "existing_company", + "fieldtype": "Link", + "hidden": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_list_view": 0, + "in_standard_filter": 0, + "label": "Existing Company ", + "length": 0, + "no_copy": 0, + "options": "Company", + "permlevel": 0, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "read_only": 0, + "remember_last_selected_value": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, + "unique": 0 + }, + { + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "columns": 0, "fieldname": "default_settings", "fieldtype": "Section Break", "hidden": 0, @@ -373,6 +505,7 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, + "in_standard_filter": 0, "label": "Accounts Settings", "length": 0, "no_copy": 0, @@ -381,6 +514,7 @@ "print_hide": 0, "print_hide_if_no_value": 0, "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 0, "search_index": 0, @@ -391,6 +525,7 @@ "allow_on_submit": 0, "bold": 0, "collapsible": 0, + "columns": 0, "depends_on": "eval:!doc.__islocal", "fieldname": "default_bank_account", "fieldtype": "Link", @@ -399,6 +534,7 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, + "in_standard_filter": 0, "label": "Default Bank Account", "length": 0, "no_copy": 1, @@ -409,6 +545,7 @@ "print_hide": 0, "print_hide_if_no_value": 0, "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 0, "search_index": 0, @@ -419,6 +556,7 @@ "allow_on_submit": 0, "bold": 0, "collapsible": 0, + "columns": 0, "depends_on": "eval:!doc.__islocal", "fieldname": "default_cash_account", "fieldtype": "Link", @@ -427,6 +565,7 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, + "in_standard_filter": 0, "label": "Default Cash Account", "length": 0, "no_copy": 1, @@ -435,6 +574,7 @@ "print_hide": 0, "print_hide_if_no_value": 0, "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 0, "search_index": 0, @@ -445,6 +585,7 @@ "allow_on_submit": 0, "bold": 0, "collapsible": 0, + "columns": 0, "depends_on": "eval:!doc.__islocal", "fieldname": "default_receivable_account", "fieldtype": "Link", @@ -453,6 +594,7 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, + "in_standard_filter": 0, "label": "Default Receivable Account", "length": 0, "no_copy": 1, @@ -463,6 +605,7 @@ "print_hide": 0, "print_hide_if_no_value": 0, "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 0, "search_index": 0, @@ -473,6 +616,7 @@ "allow_on_submit": 0, "bold": 0, "collapsible": 0, + "columns": 0, "fieldname": "round_off_account", "fieldtype": "Link", "hidden": 0, @@ -480,6 +624,7 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, + "in_standard_filter": 0, "label": "Round Off Account", "length": 0, "no_copy": 0, @@ -489,6 +634,7 @@ "print_hide": 0, "print_hide_if_no_value": 0, "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 0, "search_index": 0, @@ -499,6 +645,7 @@ "allow_on_submit": 0, "bold": 0, "collapsible": 0, + "columns": 0, "fieldname": "write_off_account", "fieldtype": "Link", "hidden": 0, @@ -506,6 +653,7 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, + "in_standard_filter": 0, "label": "Write Off Account", "length": 0, "no_copy": 0, @@ -515,6 +663,7 @@ "print_hide": 0, "print_hide_if_no_value": 0, "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 0, "search_index": 0, @@ -525,6 +674,7 @@ "allow_on_submit": 0, "bold": 0, "collapsible": 0, + "columns": 0, "fieldname": "exchange_gain_loss_account", "fieldtype": "Link", "hidden": 0, @@ -532,6 +682,7 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, + "in_standard_filter": 0, "label": "Exchange Gain / Loss Account", "length": 0, "no_copy": 0, @@ -541,6 +692,7 @@ "print_hide": 0, "print_hide_if_no_value": 0, "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 0, "search_index": 0, @@ -551,6 +703,7 @@ "allow_on_submit": 0, "bold": 0, "collapsible": 0, + "columns": 0, "fieldname": "column_break0", "fieldtype": "Column Break", "hidden": 0, @@ -558,6 +711,7 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, + "in_standard_filter": 0, "length": 0, "no_copy": 0, "oldfieldtype": "Column Break", @@ -565,6 +719,7 @@ "print_hide": 0, "print_hide_if_no_value": 0, "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 0, "search_index": 0, @@ -576,6 +731,7 @@ "allow_on_submit": 0, "bold": 0, "collapsible": 0, + "columns": 0, "depends_on": "eval:!doc.__islocal", "fieldname": "default_payable_account", "fieldtype": "Link", @@ -584,6 +740,7 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, + "in_standard_filter": 0, "label": "Default Payable Account", "length": 0, "no_copy": 1, @@ -594,6 +751,7 @@ "print_hide": 0, "print_hide_if_no_value": 0, "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 0, "search_index": 0, @@ -604,6 +762,7 @@ "allow_on_submit": 0, "bold": 0, "collapsible": 0, + "columns": 0, "depends_on": "eval:!doc.__islocal", "fieldname": "default_expense_account", "fieldtype": "Link", @@ -612,6 +771,7 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, + "in_standard_filter": 0, "label": "Default Cost of Goods Sold Account", "length": 0, "no_copy": 1, @@ -620,6 +780,7 @@ "print_hide": 0, "print_hide_if_no_value": 0, "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 0, "search_index": 0, @@ -630,6 +791,7 @@ "allow_on_submit": 0, "bold": 0, "collapsible": 0, + "columns": 0, "depends_on": "eval:!doc.__islocal", "fieldname": "default_income_account", "fieldtype": "Link", @@ -638,6 +800,7 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, + "in_standard_filter": 0, "label": "Default Income Account", "length": 0, "no_copy": 1, @@ -646,6 +809,7 @@ "print_hide": 0, "print_hide_if_no_value": 0, "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 0, "search_index": 0, @@ -656,6 +820,7 @@ "allow_on_submit": 0, "bold": 0, "collapsible": 0, + "columns": 0, "fieldname": "round_off_cost_center", "fieldtype": "Link", "hidden": 0, @@ -663,6 +828,7 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, + "in_standard_filter": 0, "label": "Round Off Cost Center", "length": 0, "no_copy": 0, @@ -672,6 +838,7 @@ "print_hide": 0, "print_hide_if_no_value": 0, "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 0, "search_index": 0, @@ -682,6 +849,7 @@ "allow_on_submit": 0, "bold": 0, "collapsible": 0, + "columns": 0, "fieldname": "section_break_22", "fieldtype": "Section Break", "hidden": 0, @@ -689,6 +857,7 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, + "in_standard_filter": 0, "length": 0, "no_copy": 0, "permlevel": 0, @@ -696,6 +865,7 @@ "print_hide": 0, "print_hide_if_no_value": 0, "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 0, "search_index": 0, @@ -706,6 +876,7 @@ "allow_on_submit": 0, "bold": 0, "collapsible": 0, + "columns": 0, "depends_on": "eval:!doc.__islocal", "fieldname": "cost_center", "fieldtype": "Link", @@ -714,6 +885,7 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, + "in_standard_filter": 0, "label": "Default Cost Center", "length": 0, "no_copy": 1, @@ -722,6 +894,7 @@ "print_hide": 0, "print_hide_if_no_value": 0, "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 0, "search_index": 0, @@ -732,6 +905,7 @@ "allow_on_submit": 0, "bold": 0, "collapsible": 0, + "columns": 0, "depends_on": "eval:!doc.__islocal", "fieldname": "credit_limit", "fieldtype": "Currency", @@ -740,6 +914,7 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, + "in_standard_filter": 0, "label": "Credit Limit", "length": 0, "no_copy": 0, @@ -750,6 +925,7 @@ "print_hide": 0, "print_hide_if_no_value": 0, "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 0, "search_index": 0, @@ -760,6 +936,7 @@ "allow_on_submit": 0, "bold": 0, "collapsible": 0, + "columns": 0, "fieldname": "column_break_26", "fieldtype": "Column Break", "hidden": 0, @@ -767,6 +944,7 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, + "in_standard_filter": 0, "length": 0, "no_copy": 0, "permlevel": 0, @@ -774,6 +952,7 @@ "print_hide": 0, "print_hide_if_no_value": 0, "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 0, "search_index": 0, @@ -784,6 +963,7 @@ "allow_on_submit": 0, "bold": 0, "collapsible": 0, + "columns": 0, "fieldname": "credit_days_based_on", "fieldtype": "Select", "hidden": 0, @@ -791,6 +971,7 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, + "in_standard_filter": 0, "label": "Credit Days Based On", "length": 0, "no_copy": 0, @@ -800,6 +981,7 @@ "print_hide": 0, "print_hide_if_no_value": 0, "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 0, "search_index": 0, @@ -810,6 +992,7 @@ "allow_on_submit": 0, "bold": 0, "collapsible": 0, + "columns": 0, "depends_on": "eval:(!doc.__islocal && doc.credit_days_based_on=='Fixed Days')", "fieldname": "credit_days", "fieldtype": "Int", @@ -818,6 +1001,7 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, + "in_standard_filter": 0, "label": "Credit Days", "length": 0, "no_copy": 0, @@ -827,6 +1011,7 @@ "print_hide": 0, "print_hide_if_no_value": 0, "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 0, "search_index": 0, @@ -837,6 +1022,7 @@ "allow_on_submit": 0, "bold": 0, "collapsible": 0, + "columns": 0, "depends_on": "eval:!doc.__islocal", "fieldname": "auto_accounting_for_stock_settings", "fieldtype": "Section Break", @@ -845,6 +1031,7 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, + "in_standard_filter": 0, "label": "Stock Settings", "length": 0, "no_copy": 0, @@ -852,6 +1039,7 @@ "print_hide": 0, "print_hide_if_no_value": 0, "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 0, "search_index": 0, @@ -862,6 +1050,7 @@ "allow_on_submit": 0, "bold": 0, "collapsible": 0, + "columns": 0, "fieldname": "stock_received_but_not_billed", "fieldtype": "Link", "hidden": 0, @@ -869,6 +1058,7 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, + "in_standard_filter": 0, "label": "Stock Received But Not Billed", "length": 0, "no_copy": 1, @@ -877,6 +1067,7 @@ "print_hide": 0, "print_hide_if_no_value": 0, "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 0, "search_index": 0, @@ -887,6 +1078,7 @@ "allow_on_submit": 0, "bold": 0, "collapsible": 0, + "columns": 0, "fieldname": "stock_adjustment_account", "fieldtype": "Link", "hidden": 0, @@ -894,6 +1086,7 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, + "in_standard_filter": 0, "label": "Stock Adjustment Account", "length": 0, "no_copy": 1, @@ -902,6 +1095,7 @@ "print_hide": 0, "print_hide_if_no_value": 0, "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 0, "search_index": 0, @@ -912,6 +1106,7 @@ "allow_on_submit": 0, "bold": 0, "collapsible": 0, + "columns": 0, "fieldname": "column_break_32", "fieldtype": "Column Break", "hidden": 0, @@ -919,6 +1114,7 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, + "in_standard_filter": 0, "length": 0, "no_copy": 0, "permlevel": 0, @@ -926,6 +1122,7 @@ "print_hide": 0, "print_hide_if_no_value": 0, "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 0, "search_index": 0, @@ -936,6 +1133,7 @@ "allow_on_submit": 0, "bold": 0, "collapsible": 0, + "columns": 0, "fieldname": "expenses_included_in_valuation", "fieldtype": "Link", "hidden": 0, @@ -943,6 +1141,7 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, + "in_standard_filter": 0, "label": "Expenses Included In Valuation", "length": 0, "no_copy": 1, @@ -951,6 +1150,7 @@ "print_hide": 0, "print_hide_if_no_value": 0, "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 0, "search_index": 0, @@ -961,6 +1161,7 @@ "allow_on_submit": 0, "bold": 0, "collapsible": 0, + "columns": 0, "fieldname": "fixed_asset_depreciation_settings", "fieldtype": "Section Break", "hidden": 0, @@ -968,6 +1169,7 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, + "in_standard_filter": 0, "label": "Fixed Asset Depreciation Settings", "length": 0, "no_copy": 0, @@ -976,6 +1178,7 @@ "print_hide": 0, "print_hide_if_no_value": 0, "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 0, "search_index": 0, @@ -986,6 +1189,7 @@ "allow_on_submit": 0, "bold": 0, "collapsible": 0, + "columns": 0, "fieldname": "accumulated_depreciation_account", "fieldtype": "Link", "hidden": 0, @@ -993,6 +1197,7 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, + "in_standard_filter": 0, "label": "Accumulated Depreciation Account", "length": 0, "no_copy": 1, @@ -1002,6 +1207,7 @@ "print_hide": 0, "print_hide_if_no_value": 0, "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 0, "search_index": 0, @@ -1012,6 +1218,7 @@ "allow_on_submit": 0, "bold": 0, "collapsible": 0, + "columns": 0, "fieldname": "depreciation_expense_account", "fieldtype": "Link", "hidden": 0, @@ -1019,6 +1226,7 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, + "in_standard_filter": 0, "label": "Depreciation Expense Account", "length": 0, "no_copy": 1, @@ -1028,6 +1236,7 @@ "print_hide": 0, "print_hide_if_no_value": 0, "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 0, "search_index": 0, @@ -1038,6 +1247,7 @@ "allow_on_submit": 0, "bold": 0, "collapsible": 0, + "columns": 0, "fieldname": "column_break_40", "fieldtype": "Column Break", "hidden": 0, @@ -1045,6 +1255,7 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, + "in_standard_filter": 0, "length": 0, "no_copy": 0, "permlevel": 0, @@ -1052,6 +1263,7 @@ "print_hide": 0, "print_hide_if_no_value": 0, "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 0, "search_index": 0, @@ -1062,6 +1274,7 @@ "allow_on_submit": 0, "bold": 0, "collapsible": 0, + "columns": 0, "fieldname": "disposal_account", "fieldtype": "Link", "hidden": 0, @@ -1069,6 +1282,7 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, + "in_standard_filter": 0, "label": "Gain/Loss Account on Asset Disposal", "length": 0, "no_copy": 1, @@ -1078,6 +1292,7 @@ "print_hide": 0, "print_hide_if_no_value": 0, "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 0, "search_index": 0, @@ -1088,6 +1303,7 @@ "allow_on_submit": 0, "bold": 0, "collapsible": 0, + "columns": 0, "fieldname": "depreciation_cost_center", "fieldtype": "Link", "hidden": 0, @@ -1095,6 +1311,7 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, + "in_standard_filter": 0, "label": "Asset Depreciation Cost Center", "length": 0, "no_copy": 1, @@ -1104,6 +1321,7 @@ "print_hide": 0, "print_hide_if_no_value": 0, "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 0, "search_index": 0, @@ -1114,6 +1332,7 @@ "allow_on_submit": 0, "bold": 0, "collapsible": 0, + "columns": 0, "description": "For reference only.", "fieldname": "company_info", "fieldtype": "Section Break", @@ -1122,6 +1341,7 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, + "in_standard_filter": 0, "label": "Company Info", "length": 0, "no_copy": 0, @@ -1129,6 +1349,7 @@ "print_hide": 0, "print_hide_if_no_value": 0, "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 0, "search_index": 0, @@ -1139,6 +1360,7 @@ "allow_on_submit": 0, "bold": 0, "collapsible": 0, + "columns": 0, "fieldname": "address", "fieldtype": "Small Text", "hidden": 0, @@ -1146,6 +1368,7 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, + "in_standard_filter": 0, "label": "Address", "length": 0, "no_copy": 0, @@ -1155,6 +1378,7 @@ "print_hide": 0, "print_hide_if_no_value": 0, "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 0, "search_index": 0, @@ -1165,6 +1389,7 @@ "allow_on_submit": 0, "bold": 0, "collapsible": 0, + "columns": 0, "fieldname": "column_break1", "fieldtype": "Column Break", "hidden": 0, @@ -1172,6 +1397,7 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, + "in_standard_filter": 0, "length": 0, "no_copy": 0, "oldfieldtype": "Column Break", @@ -1179,6 +1405,7 @@ "print_hide": 0, "print_hide_if_no_value": 0, "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 0, "search_index": 0, @@ -1190,6 +1417,7 @@ "allow_on_submit": 0, "bold": 0, "collapsible": 0, + "columns": 0, "fieldname": "phone_no", "fieldtype": "Data", "hidden": 0, @@ -1197,6 +1425,7 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, + "in_standard_filter": 0, "label": "Phone No", "length": 0, "no_copy": 0, @@ -1207,6 +1436,7 @@ "print_hide": 0, "print_hide_if_no_value": 0, "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 0, "search_index": 0, @@ -1217,6 +1447,7 @@ "allow_on_submit": 0, "bold": 0, "collapsible": 0, + "columns": 0, "fieldname": "fax", "fieldtype": "Data", "hidden": 0, @@ -1224,6 +1455,7 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, + "in_standard_filter": 0, "label": "Fax", "length": 0, "no_copy": 0, @@ -1234,6 +1466,7 @@ "print_hide": 0, "print_hide_if_no_value": 0, "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 0, "search_index": 0, @@ -1244,6 +1477,7 @@ "allow_on_submit": 0, "bold": 0, "collapsible": 0, + "columns": 0, "fieldname": "email", "fieldtype": "Data", "hidden": 0, @@ -1251,6 +1485,7 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, + "in_standard_filter": 0, "label": "Email", "length": 0, "no_copy": 0, @@ -1261,6 +1496,7 @@ "print_hide": 0, "print_hide_if_no_value": 0, "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 0, "search_index": 0, @@ -1271,6 +1507,7 @@ "allow_on_submit": 0, "bold": 0, "collapsible": 0, + "columns": 0, "fieldname": "website", "fieldtype": "Data", "hidden": 0, @@ -1278,6 +1515,7 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, + "in_standard_filter": 0, "label": "Website", "length": 0, "no_copy": 0, @@ -1287,6 +1525,7 @@ "print_hide": 0, "print_hide_if_no_value": 0, "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 0, "search_index": 0, @@ -1297,6 +1536,7 @@ "allow_on_submit": 0, "bold": 0, "collapsible": 0, + "columns": 0, "description": "", "fieldname": "registration_info", "fieldtype": "Section Break", @@ -1305,6 +1545,7 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, + "in_standard_filter": 0, "label": "", "length": 0, "no_copy": 0, @@ -1313,6 +1554,7 @@ "print_hide": 0, "print_hide_if_no_value": 0, "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 0, "search_index": 0, @@ -1324,6 +1566,7 @@ "allow_on_submit": 0, "bold": 0, "collapsible": 0, + "columns": 0, "description": "Company registration numbers for your reference. Tax numbers etc.", "fieldname": "registration_details", "fieldtype": "Code", @@ -1332,6 +1575,7 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, + "in_standard_filter": 0, "label": "Registration Details", "length": 0, "no_copy": 0, @@ -1341,6 +1585,7 @@ "print_hide": 0, "print_hide_if_no_value": 0, "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 0, "search_index": 0, @@ -1351,6 +1596,7 @@ "allow_on_submit": 0, "bold": 0, "collapsible": 0, + "columns": 0, "fieldname": "delete_company_transactions", "fieldtype": "Button", "hidden": 0, @@ -1358,6 +1604,7 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, + "in_standard_filter": 0, "label": "Delete Company Transactions", "length": 0, "no_copy": 0, @@ -1366,6 +1613,7 @@ "print_hide": 0, "print_hide_if_no_value": 0, "read_only": 0, + "remember_last_selected_value": 0, "report_hide": 0, "reqd": 0, "search_index": 0, @@ -1385,7 +1633,7 @@ "istable": 0, "max_attachments": 0, "menu_index": 0, - "modified": "2016-10-26 09:08:50.476200", + "modified": "2016-11-22 04:14:51.319655", "modified_by": "Administrator", "module": "Setup", "name": "Company", @@ -1401,6 +1649,7 @@ "export": 0, "if_owner": 0, "import": 0, + "is_custom": 0, "permlevel": 0, "print": 1, "read": 1, @@ -1421,6 +1670,7 @@ "export": 0, "if_owner": 0, "import": 0, + "is_custom": 0, "permlevel": 0, "print": 1, "read": 1, @@ -1441,6 +1691,7 @@ "export": 0, "if_owner": 0, "import": 0, + "is_custom": 0, "permlevel": 0, "print": 0, "read": 1, @@ -1461,6 +1712,7 @@ "export": 0, "if_owner": 0, "import": 0, + "is_custom": 0, "permlevel": 0, "print": 0, "read": 1, @@ -1481,6 +1733,7 @@ "export": 0, "if_owner": 0, "import": 0, + "is_custom": 0, "permlevel": 0, "print": 0, "read": 1, @@ -1501,6 +1754,7 @@ "export": 0, "if_owner": 0, "import": 0, + "is_custom": 0, "permlevel": 0, "print": 0, "read": 1, @@ -1521,6 +1775,7 @@ "export": 0, "if_owner": 0, "import": 0, + "is_custom": 0, "permlevel": 0, "print": 0, "read": 1, From e0089184e60d2d60ac78e0ca17f171d4f130978d Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Wed, 23 Nov 2016 17:34:01 +0530 Subject: [PATCH 2/2] Create Chart of Accounts based on existing company --- .../chart_of_accounts/chart_of_accounts.py | 65 +++++++++++--- erpnext/setup/doctype/company/company.json | 89 +++++++------------ erpnext/setup/doctype/company/company.py | 18 +++- erpnext/setup/doctype/company/test_company.py | 40 ++++++++- erpnext/setup/setup_wizard/setup_wizard.py | 1 + 5 files changed, 136 insertions(+), 77 deletions(-) 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 7894e77e2a..e26e354b8c 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 @@ -6,9 +6,8 @@ import frappe, os, json from frappe.utils import cstr from unidecode import unidecode -def create_charts(chart_name, company): - chart = get_chart(chart_name) - +def create_charts(company, chart_template=None, existing_company=None): + chart = get_chart(chart_template, existing_company) if chart: accounts = [] @@ -17,7 +16,7 @@ def create_charts(chart_name, company): if root_account: root_type = child.get("root_type") - if account_name not in ["account_type", "root_type", "is_group"]: + if account_name not in ["account_type", "root_type", "is_group", "tax_rate"]: account_name_in_db = unidecode(account_name.strip().lower()) if account_name_in_db in accounts: @@ -57,21 +56,21 @@ def create_charts(chart_name, company): def identify_is_group(child): if child.get("is_group"): is_group = child.get("is_group") - elif len(set(child.keys()) - set(["account_type", "root_type", "is_group"])): + elif len(set(child.keys()) - set(["account_type", "root_type", "is_group", "tax_rate"])): is_group = 1 else: is_group = 0 return is_group -def get_chart(chart_name): +def get_chart(chart_template, existing_company=None): chart = {} - if chart_name == "Standard Template": + if existing_company: + return get_account_tree_from_existing_company(existing_company) + + elif chart_template == "Standard": from erpnext.accounts.doctype.account.chart_of_accounts.verified import standard_chart_of_accounts return standard_chart_of_accounts.get() - - - else: folders = ("verified",) if frappe.local.flags.allow_unverified_charts: @@ -82,7 +81,7 @@ def get_chart(chart_name): if fname.endswith(".json"): with open(os.path.join(path, fname), "r") as f: chart = f.read() - if chart and json.loads(chart).get("name") == chart_name: + if chart and json.loads(chart).get("name") == chart_template: return json.loads(chart).get("tree") @frappe.whitelist() @@ -114,3 +113,47 @@ def get_charts_for_country(country): charts.append("Standard") return charts + + +def get_account_tree_from_existing_company(existing_company): + all_accounts = frappe.get_all('Account', + filters={'company': existing_company}, + fields = ["name", "account_name", "parent_account", "account_type", + "is_group", "root_type", "tax_rate"], + order_by="lft, rgt") + + account_tree = {} + + # fill in tree starting with root accounts (those with no parent) + build_account_tree(account_tree, None, all_accounts) + + return account_tree + +def build_account_tree(tree, parent, all_accounts): + # find children + parent_account = parent.name if parent else None + children = [acc for acc in all_accounts if acc.parent_account == parent_account] + + # if no children, but a group account + if not children and parent.is_group: + tree["is_group"] = 1 + + # build a subtree for each child + for child in children: + if child.account_type == "Stock" and not child.is_group: + tree["is_group"] = 1 + continue + + # start new subtree + tree[child.account_name] = {} + + # assign account_type and root_type + if child.account_type: + tree[child.account_name]["account_type"] = child.account_type + if child.tax_rate: + tree[child.account_name]["tax_rate"] = child.tax_rate + if not parent: + tree[child.account_name]["root_type"] = child.root_type + + # call recursively to build a subtree for current account + build_account_tree(tree[child.account_name], child, all_accounts) \ No newline at end of file diff --git a/erpnext/setup/doctype/company/company.json b/erpnext/setup/doctype/company/company.json index 3dedd53c5f..338d10ab8d 100644 --- a/erpnext/setup/doctype/company/company.json +++ b/erpnext/setup/doctype/company/company.json @@ -294,6 +294,34 @@ "set_only_once": 0, "unique": 0 }, + { + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "columns": 0, + "fieldname": "default_currency", + "fieldtype": "Link", + "hidden": 0, + "ignore_user_permissions": 1, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_list_view": 0, + "in_standard_filter": 0, + "label": "Default Currency", + "length": 0, + "no_copy": 0, + "options": "Currency", + "permlevel": 0, + "print_hide": 0, + "print_hide_if_no_value": 0, + "read_only": 0, + "remember_last_selected_value": 0, + "report_hide": 0, + "reqd": 1, + "search_index": 0, + "set_only_once": 0, + "unique": 0 + }, { "allow_on_submit": 0, "bold": 0, @@ -349,61 +377,6 @@ "set_only_once": 0, "unique": 0 }, - { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, - "fieldname": "default_currency", - "fieldtype": "Link", - "hidden": 0, - "ignore_user_permissions": 1, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_list_view": 0, - "in_standard_filter": 0, - "label": "Default Currency", - "length": 0, - "no_copy": 0, - "options": "Currency", - "permlevel": 0, - "print_hide": 0, - "print_hide_if_no_value": 0, - "read_only": 0, - "remember_last_selected_value": 0, - "report_hide": 0, - "reqd": 1, - "search_index": 0, - "set_only_once": 0, - "unique": 0 - }, - { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, - "fieldname": "column_break_14", - "fieldtype": "Column Break", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_list_view": 0, - "in_standard_filter": 0, - "length": 0, - "no_copy": 0, - "permlevel": 0, - "precision": "", - "print_hide": 0, - "print_hide_if_no_value": 0, - "read_only": 0, - "remember_last_selected_value": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, - "unique": 0 - }, { "allow_on_submit": 0, "bold": 0, @@ -449,7 +422,7 @@ "in_standard_filter": 0, "label": "Chart Of Accounts Template", "length": 0, - "no_copy": 0, + "no_copy": 1, "options": "", "permlevel": 0, "precision": "", @@ -479,7 +452,7 @@ "in_standard_filter": 0, "label": "Existing Company ", "length": 0, - "no_copy": 0, + "no_copy": 1, "options": "Company", "permlevel": 0, "precision": "", @@ -1633,7 +1606,7 @@ "istable": 0, "max_attachments": 0, "menu_index": 0, - "modified": "2016-11-22 04:14:51.319655", + "modified": "2016-11-23 16:32:04.893315", "modified_by": "Administrator", "module": "Setup", "name": "Company", diff --git a/erpnext/setup/doctype/company/company.py b/erpnext/setup/doctype/company/company.py index 00538cd4c9..7f506d5440 100644 --- a/erpnext/setup/doctype/company/company.py +++ b/erpnext/setup/doctype/company/company.py @@ -30,6 +30,7 @@ class Company(Document): self.validate_abbr() self.validate_default_accounts() self.validate_currency() + self.validate_coa_input() def validate_abbr(self): if not self.abbr: @@ -113,16 +114,25 @@ class Company(Document): warehouse.insert() def create_default_accounts(self): - if not self.chart_of_accounts: - self.chart_of_accounts = "Standard" - from erpnext.accounts.doctype.account.chart_of_accounts.chart_of_accounts import create_charts - create_charts(self.chart_of_accounts, self.name) + create_charts(self.name, self.chart_of_accounts, self.existing_company) frappe.db.set(self, "default_receivable_account", frappe.db.get_value("Account", {"company": self.name, "account_type": "Receivable", "is_group": 0})) frappe.db.set(self, "default_payable_account", frappe.db.get_value("Account", {"company": self.name, "account_type": "Payable", "is_group": 0})) + + def validate_coa_input(self): + if self.create_chart_of_accounts_based_on == "Existing Company": + self.chart_of_accounts = None + if not self.existing_company: + frappe.throw(_("Please select Existing Company for creating Chart of Accounts")) + + else: + self.existing_company = None + self.create_chart_of_accounts_based_on = "Standard Template" + if not self.chart_of_accounts: + self.chart_of_accounts = "Standard" def set_default_accounts(self): self._set_default_account("default_cash_account", "Cash") diff --git a/erpnext/setup/doctype/company/test_company.py b/erpnext/setup/doctype/company/test_company.py index afcc3b149a..52836a6b98 100644 --- a/erpnext/setup/doctype/company/test_company.py +++ b/erpnext/setup/doctype/company/test_company.py @@ -7,8 +7,40 @@ test_ignore = ["Account", "Cost Center"] import frappe import unittest -class TestCompany(unittest.TestCase): - pass - - test_records = frappe.get_test_records('Company') + +class TestCompany(unittest.TestCase): + def test_coa_based_on_existing_company(self): + make_company() + + expected_results = { + "Debtors - CFEC": { + "account_type": "Receivable", + "is_group": 0, + "root_type": "Asset", + "parent_account": "Accounts Receivable - CFEC", + }, + "_Test Cash - CFEC": { + "account_type": "Cash", + "is_group": 0, + "root_type": "Asset", + "parent_account": "Cash In Hand - CFEC" + } + } + + for account, acc_property in expected_results.items(): + acc = frappe.get_doc("Account", account) + for prop, val in acc_property.items(): + self.assertEqual(acc.get(prop), val) + + +def make_company(): + company = frappe.new_doc("Company") + company.company_name = "COA from Existing Company" + company.abbr = "CFEC" + company.default_currency = "INR" + company.create_chart_of_accounts_based_on = "Existing Company" + company.existing_company = "_Test Company" + company.save() + + diff --git a/erpnext/setup/setup_wizard/setup_wizard.py b/erpnext/setup/setup_wizard/setup_wizard.py index 646aef187e..395ea51d3c 100644 --- a/erpnext/setup/setup_wizard/setup_wizard.py +++ b/erpnext/setup/setup_wizard/setup_wizard.py @@ -88,6 +88,7 @@ def create_fiscal_year_and_company(args): 'abbr':args.get('company_abbr'), 'default_currency':args.get('currency'), 'country': args.get('country'), + 'create_chart_of_accounts_based_on': 'Standard Template', 'chart_of_accounts': args.get(('chart_of_accounts')), 'domain': args.get('domain') }).insert()