diff --git a/README.md b/README.md index 4d468be1078..cf3804f830e 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@
ERP made simple
-[](https://travis-ci.com/frappe/erpnext) +[](https://travis-ci.com/frappe/erpnext) [](https://www.codetriage.com/frappe/erpnext) [](https://coveralls.io/github/frappe/erpnext?branch=develop) diff --git a/erpnext/accounts/doctype/bank/bank_dashboard.py b/erpnext/accounts/doctype/bank/bank_dashboard.py new file mode 100644 index 00000000000..432404155d2 --- /dev/null +++ b/erpnext/accounts/doctype/bank/bank_dashboard.py @@ -0,0 +1,18 @@ +from __future__ import unicode_literals + +from frappe import _ + + +def get_data(): + return { + 'fieldname': 'bank', + 'transactions': [ + { + 'label': _('Bank Deatils'), + 'items': ['Bank Account', 'Bank Guarantee'] + }, + { + 'items': ['Payment Order'] + } + ] + } diff --git a/erpnext/accounts/doctype/bank_account/bank_account_dashboard.py b/erpnext/accounts/doctype/bank_account/bank_account_dashboard.py new file mode 100644 index 00000000000..3d149eb3343 --- /dev/null +++ b/erpnext/accounts/doctype/bank_account/bank_account_dashboard.py @@ -0,0 +1,30 @@ +from __future__ import unicode_literals + +from frappe import _ + + +def get_data(): + return { + 'fieldname': 'bank_account', + 'non_standard_fieldnames': { + 'Customer': 'default_bank_account', + 'Supplier': 'default_bank_account', + 'Journal Entry': 'bank_account_no' + }, + 'transactions': [ + { + 'label': _('Payments'), + 'items': ['Payment Entry', 'Payment Request', 'Payment Order'] + }, + { + 'label': _('Party'), + 'items': ['Customer', 'Supplier'] + }, + { + 'items': ['Bank Guarantee'] + }, + { + 'items': ['Journal Entry'] + } + ] + } \ No newline at end of file diff --git a/erpnext/accounts/doctype/cost_center/cost_center_dashboard.py b/erpnext/accounts/doctype/cost_center/cost_center_dashboard.py new file mode 100644 index 00000000000..788ac8be83f --- /dev/null +++ b/erpnext/accounts/doctype/cost_center/cost_center_dashboard.py @@ -0,0 +1,15 @@ +from __future__ import unicode_literals + +from frappe import _ + + +def get_data(): + return { + 'fieldname': 'cost_center', + 'reports': [ + { + 'label': _('Reports'), + 'items': ['Budget Variance Report', 'General Ledger'] + } + ] + } \ No newline at end of file diff --git a/erpnext/accounts/doctype/finance_book/finance_book_dashboard.py b/erpnext/accounts/doctype/finance_book/finance_book_dashboard.py new file mode 100644 index 00000000000..c2ebea6e8f8 --- /dev/null +++ b/erpnext/accounts/doctype/finance_book/finance_book_dashboard.py @@ -0,0 +1,25 @@ +from __future__ import unicode_literals + +from frappe import _ + + +def get_data(): + return { + 'fieldname': 'finance_book', + 'non_standard_fieldnames': { + 'Asset': 'default_finance_book', + 'Company': 'default_finance_book' + }, + 'transactions': [ + { + 'label': _('Assets'), + 'items': ['Asset', 'Asset Value Adjustment'] + }, + { + 'items': ['Company'] + }, + { + 'items': ['Journal Entry'] + } + ] + } diff --git a/erpnext/accounts/doctype/fiscal_year/fiscal_year_dashboard.py b/erpnext/accounts/doctype/fiscal_year/fiscal_year_dashboard.py new file mode 100644 index 00000000000..c7604ec7ccd --- /dev/null +++ b/erpnext/accounts/doctype/fiscal_year/fiscal_year_dashboard.py @@ -0,0 +1,23 @@ +from __future__ import unicode_literals + +from frappe import _ + + +def get_data(): + return { + 'fieldname': 'fiscal_year', + 'transactions': [ + { + 'label': _('Budgets'), + 'items': ['Budget'] + }, + { + 'label': _('References'), + 'items': ['Period Closing Voucher', 'Request for Quotation', 'Tax Withholding Category'] + }, + { + 'label': _('Target Details'), + 'items': ['Sales Person', 'Sales Partner', 'Territory', 'Monthly Distribution'] + } + ] + } diff --git a/erpnext/accounts/doctype/item_tax_template/item_tax_template_dashboard.py b/erpnext/accounts/doctype/item_tax_template/item_tax_template_dashboard.py new file mode 100644 index 00000000000..acc308e0e68 --- /dev/null +++ b/erpnext/accounts/doctype/item_tax_template/item_tax_template_dashboard.py @@ -0,0 +1,26 @@ +from __future__ import unicode_literals + +from frappe import _ + + +def get_data(): + return { + 'fieldname': 'item_tax_template', + 'transactions': [ + { + 'label': _('Pre Sales'), + 'items': ['Quotation', 'Supplier Quotation'] + }, + { + 'label': _('Sales'), + 'items': ['Sales Invoice', 'Sales Order', 'Delivery Note'] + }, + { + 'label': _('Purchase'), + 'items': ['Purchase Invoice', 'Purchase Order', 'Purchase Receipt'] + }, + { + 'items': ['Item'] + } + ] + } diff --git a/erpnext/accounts/doctype/journal_entry/journal_entry.js b/erpnext/accounts/doctype/journal_entry/journal_entry.js index 9be30aae514..b7f383fb131 100644 --- a/erpnext/accounts/doctype/journal_entry/journal_entry.js +++ b/erpnext/accounts/doctype/journal_entry/journal_entry.js @@ -25,13 +25,13 @@ frappe.ui.form.on("Journal Entry", { "group_by_voucher": 0 }; frappe.set_route("query-report", "General Ledger"); - }, "fa fa-table"); + }, __('View')); } if(frm.doc.docstatus==1) { frm.add_custom_button(__('Reverse Journal Entry'), function() { return erpnext.journal_entry.reverse_journal_entry(frm); - }); + }, __('Make')); } if (frm.doc.__islocal) { @@ -47,8 +47,7 @@ frappe.ui.form.on("Journal Entry", { frm.add_custom_button(__("Create Inter Company Journal Entry"), function() { frm.trigger("make_inter_company_journal_entry"); - } - ); + }, __('Make')); } }, diff --git a/erpnext/accounts/doctype/journal_entry/journal_entry.py b/erpnext/accounts/doctype/journal_entry/journal_entry.py index 26fbc23b4cd..d082b602117 100644 --- a/erpnext/accounts/doctype/journal_entry/journal_entry.py +++ b/erpnext/accounts/doctype/journal_entry/journal_entry.py @@ -458,8 +458,9 @@ class JournalEntry(AccountsController): pay_to_recd_from = frappe.db.get_value(d.party_type, d.party, "customer_name" if d.party_type=="Customer" else "supplier_name") - party_amount += (d.debit_in_account_currency or d.credit_in_account_currency) - party_account_currency = d.account_currency + if pay_to_recd_from and pay_to_recd_from == d.party: + party_amount += (d.debit_in_account_currency or d.credit_in_account_currency) + party_account_currency = d.account_currency elif frappe.db.get_value("Account", d.account, "account_type") in ["Bank", "Cash"]: bank_amount += (d.debit_in_account_currency or d.credit_in_account_currency) diff --git a/erpnext/accounts/doctype/loyalty_program/loyalty_program_dashboard.py b/erpnext/accounts/doctype/loyalty_program/loyalty_program_dashboard.py new file mode 100644 index 00000000000..189004f5ec8 --- /dev/null +++ b/erpnext/accounts/doctype/loyalty_program/loyalty_program_dashboard.py @@ -0,0 +1,14 @@ +from __future__ import unicode_literals + +from frappe import _ + + +def get_data(): + return { + 'fieldname': 'loyalty_program', + 'transactions': [ + { + 'items': ['Sales Invoice', 'Customer'] + } + ] + } diff --git a/erpnext/accounts/doctype/monthly_distribution/monthly_distribution_dashboard.py b/erpnext/accounts/doctype/monthly_distribution/monthly_distribution_dashboard.py new file mode 100644 index 00000000000..a6794998159 --- /dev/null +++ b/erpnext/accounts/doctype/monthly_distribution/monthly_distribution_dashboard.py @@ -0,0 +1,23 @@ +from __future__ import unicode_literals + +from frappe import _ + + +def get_data(): + return { + 'fieldname': 'monthly_distribution', + 'non_standard_fieldnames': { + 'Sales Person': 'distribution_id', + 'Territory': 'distribution_id', + 'Sales Partner': 'distribution_id', + }, + 'transactions': [ + { + 'label': _('Target Details'), + 'items': ['Sales Person', 'Territory', 'Sales Partner'] + }, + { + 'items': ['Budget'] + } + ] + } \ No newline at end of file diff --git a/erpnext/accounts/doctype/opening_invoice_creation_tool/opening_invoice_creation_tool.js b/erpnext/accounts/doctype/opening_invoice_creation_tool/opening_invoice_creation_tool.js index c742e64f1e5..4d8da37efe0 100644 --- a/erpnext/accounts/doctype/opening_invoice_creation_tool/opening_invoice_creation_tool.js +++ b/erpnext/accounts/doctype/opening_invoice_creation_tool/opening_invoice_creation_tool.js @@ -10,6 +10,22 @@ frappe.ui.form.on('Opening Invoice Creation Tool', { } }; }); + + frm.set_query('cost_center', 'invoices', function(doc, cdt, cdn) { + return { + filters: { + 'company': doc.company + } + }; + }); + + frm.set_query('cost_center', function(doc) { + return { + filters: { + 'company': doc.company + } + }; + }); }, refresh: function(frm) { @@ -84,6 +100,11 @@ frappe.ui.form.on('Opening Invoice Creation Tool', { if (!row.temporary_opening_account) { row.temporary_opening_account = frm.doc.__onload.temporary_opening_account; } + + if(!row.cost_center) { + row.cost_center = frm.doc.cost_center; + } + row.party_type = frm.doc.invoice_type == "Sales"? "Customer": "Supplier"; }); } diff --git a/erpnext/accounts/doctype/opening_invoice_creation_tool/opening_invoice_creation_tool.json b/erpnext/accounts/doctype/opening_invoice_creation_tool/opening_invoice_creation_tool.json index dca07fff1d6..7d2d5a11a84 100644 --- a/erpnext/accounts/doctype/opening_invoice_creation_tool/opening_invoice_creation_tool.json +++ b/erpnext/accounts/doctype/opening_invoice_creation_tool/opening_invoice_creation_tool.json @@ -1,244 +1,86 @@ { - "allow_copy": 1, - "allow_guest_to_view": 0, - "allow_import": 0, - "allow_rename": 0, - "beta": 1, - "creation": "2017-08-29 02:22:54.947711", - "custom": 0, - "docstatus": 0, - "doctype": "DocType", - "document_type": "", - "editable_grid": 1, - "engine": "InnoDB", + "allow_copy": 1, + "beta": 1, + "creation": "2017-08-29 02:22:54.947711", + "doctype": "DocType", + "editable_grid": 1, + "engine": "InnoDB", + "field_order": [ + "company", + "create_missing_party", + "column_break_3", + "invoice_type", + "cost_center", + "section_break_4", + "invoices" + ], "fields": [ { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, - "fieldname": "company", - "fieldtype": "Link", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 1, - "in_standard_filter": 0, - "label": "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": 1, - "search_index": 0, - "set_only_once": 0, - "unique": 0 - }, + "fieldname": "company", + "fieldtype": "Link", + "in_list_view": 1, + "label": "Company", + "options": "Company", + "reqd": 1 + }, { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, - "description": "Create missing customer or supplier.", - "fieldname": "create_missing_party", - "fieldtype": "Check", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 0, - "in_standard_filter": 0, - "label": "Create Missing Party", - "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 - }, + "default": "0", + "description": "Create missing customer or supplier.", + "fieldname": "create_missing_party", + "fieldtype": "Check", + "label": "Create Missing Party" + }, { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, - "fieldname": "column_break_3", - "fieldtype": "Column Break", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 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 - }, + "fieldname": "column_break_3", + "fieldtype": "Column Break" + }, { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, - "fieldname": "invoice_type", - "fieldtype": "Select", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 1, - "in_standard_filter": 0, - "label": "Invoice Type", - "length": 0, - "no_copy": 0, - "options": "Sales\nPurchase", - "permlevel": 0, - "precision": "", - "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 - }, + "fieldname": "invoice_type", + "fieldtype": "Select", + "in_list_view": 1, + "label": "Invoice Type", + "options": "Sales\nPurchase", + "reqd": 1 + }, { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, - "fieldname": "section_break_4", - "fieldtype": "Section Break", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 0, - "in_standard_filter": 0, - "label": "Invoices", - "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 - }, + "fieldname": "section_break_4", + "fieldtype": "Section Break", + "label": "Invoices" + }, { - "allow_bulk_edit": 1, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, - "fieldname": "invoices", - "fieldtype": "Table", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 0, - "in_standard_filter": 0, - "length": 0, - "no_copy": 0, - "options": "Opening Invoice Creation Tool Item", - "permlevel": 0, - "precision": "", - "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_bulk_edit": 1, + "fieldname": "invoices", + "fieldtype": "Table", + "options": "Opening Invoice Creation Tool Item", + "reqd": 1 + }, + { + "fieldname": "cost_center", + "fieldtype": "Link", + "label": "Cost Center", + "options": "Cost Center" } - ], - "has_web_view": 0, - "hide_heading": 0, - "hide_toolbar": 1, - "idx": 0, - "image_view": 0, - "in_create": 0, - "is_submittable": 0, - "issingle": 1, - "istable": 0, - "max_attachments": 0, - "modified": "2018-02-14 17:59:35.269118", - "modified_by": "Administrator", - "module": "Accounts", - "name": "Opening Invoice Creation Tool", - "name_case": "", - "owner": "Administrator", + ], + "hide_toolbar": 1, + "issingle": 1, + "modified": "2019-06-13 11:45:31.405267", + "modified_by": "Administrator", + "module": "Accounts", + "name": "Opening Invoice Creation Tool", + "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": 0, - "role": "System Manager", - "set_user_permissions": 0, - "share": 1, - "submit": 0, + "create": 1, + "email": 1, + "print": 1, + "read": 1, + "role": "System Manager", + "share": 1, "write": 1 } - ], - "quick_entry": 1, - "read_only": 0, - "read_only_onload": 0, - "show_name_in_global_search": 0, - "sort_field": "modified", - "sort_order": "DESC", - "track_changes": 1, - "track_seen": 0 + ], + "quick_entry": 1, + "sort_field": "modified", + "sort_order": "DESC", + "track_changes": 1 } \ No newline at end of file diff --git a/erpnext/accounts/doctype/opening_invoice_creation_tool/opening_invoice_creation_tool.py b/erpnext/accounts/doctype/opening_invoice_creation_tool/opening_invoice_creation_tool.py index b2c31ce377e..5fa7b48c091 100644 --- a/erpnext/accounts/doctype/opening_invoice_creation_tool/opening_invoice_creation_tool.py +++ b/erpnext/accounts/doctype/opening_invoice_creation_tool/opening_invoice_creation_tool.py @@ -129,7 +129,9 @@ class OpeningInvoiceCreationTool(Document): def get_invoice_dict(self, row=None): def get_item_dict(): default_uom = frappe.db.get_single_value("Stock Settings", "stock_uom") or _("Nos") - cost_center = frappe.get_cached_value('Company', self.company, "cost_center") + cost_center = row.get('cost_center') or frappe.get_cached_value('Company', + self.company, "cost_center") + if not cost_center: frappe.throw( _("Please set the Default Cost Center in {0} company.").format(frappe.bold(self.company)) @@ -163,6 +165,7 @@ class OpeningInvoiceCreationTool(Document): "is_opening": "Yes", "set_posting_time": 1, "company": self.company, + "cost_center": self.cost_center, "due_date": row.due_date, "posting_date": row.posting_date, frappe.scrub(party_type): row.party, diff --git a/erpnext/accounts/doctype/opening_invoice_creation_tool_item/opening_invoice_creation_tool_item.json b/erpnext/accounts/doctype/opening_invoice_creation_tool_item/opening_invoice_creation_tool_item.json index 83dcffc57ac..afa7229e535 100644 --- a/erpnext/accounts/doctype/opening_invoice_creation_tool_item/opening_invoice_creation_tool_item.json +++ b/erpnext/accounts/doctype/opening_invoice_creation_tool_item/opening_invoice_creation_tool_item.json @@ -1,378 +1,108 @@ { - "allow_copy": 0, - "allow_guest_to_view": 0, - "allow_import": 0, - "allow_rename": 0, - "beta": 0, - "creation": "2017-08-29 04:26:36.159247", - "custom": 0, - "docstatus": 0, - "doctype": "DocType", - "document_type": "", - "editable_grid": 1, - "engine": "InnoDB", + "creation": "2017-08-29 04:26:36.159247", + "doctype": "DocType", + "editable_grid": 1, + "engine": "InnoDB", + "field_order": [ + "party_type", + "party", + "temporary_opening_account", + "column_break_3", + "posting_date", + "due_date", + "section_break_5", + "item_name", + "outstanding_amount", + "column_break_4", + "qty", + "cost_center" + ], "fields": [ { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, - "fieldname": "party_type", - "fieldtype": "Link", - "hidden": 1, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 0, - "in_standard_filter": 0, - "label": "Party Type", - "length": 0, - "no_copy": 0, - "options": "DocType", - "permlevel": 0, - "precision": "", - "print_hide": 0, - "print_hide_if_no_value": 0, - "read_only": 1, - "remember_last_selected_value": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, - "unique": 0 - }, + "fieldname": "party_type", + "fieldtype": "Link", + "hidden": 1, + "label": "Party Type", + "options": "DocType", + "read_only": 1 + }, { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, - "fieldname": "party", - "fieldtype": "Dynamic Link", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 1, - "in_standard_filter": 0, - "label": "Party", - "length": 0, - "no_copy": 0, - "options": "party_type", - "permlevel": 0, - "precision": "", - "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 - }, + "fieldname": "party", + "fieldtype": "Dynamic Link", + "in_list_view": 1, + "label": "Party", + "options": "party_type", + "reqd": 1 + }, { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, - "fieldname": "temporary_opening_account", - "fieldtype": "Link", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 0, - "in_standard_filter": 0, - "label": "Temporary Opening Account", - "length": 0, - "no_copy": 0, - "options": "Account", - "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 - }, + "fieldname": "temporary_opening_account", + "fieldtype": "Link", + "label": "Temporary Opening Account", + "options": "Account" + }, { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, - "fieldname": "column_break_3", - "fieldtype": "Column Break", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 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 - }, + "fieldname": "column_break_3", + "fieldtype": "Column Break" + }, { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, - "default": "Today", - "fieldname": "posting_date", - "fieldtype": "Date", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 1, - "in_standard_filter": 0, - "label": "Posting Date", - "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 - }, + "default": "Today", + "fieldname": "posting_date", + "fieldtype": "Date", + "in_list_view": 1, + "label": "Posting Date" + }, { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, - "default": "Today", - "fieldname": "due_date", - "fieldtype": "Date", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 1, - "in_standard_filter": 0, - "label": "Due Date", - "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 - }, + "default": "Today", + "fieldname": "due_date", + "fieldtype": "Date", + "in_list_view": 1, + "label": "Due Date" + }, { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, - "fieldname": "section_break_5", - "fieldtype": "Section Break", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 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 - }, + "fieldname": "section_break_5", + "fieldtype": "Section Break" + }, { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, - "default": "Opening Invoice Item", - "fieldname": "item_name", - "fieldtype": "Data", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 1, - "in_standard_filter": 0, - "label": "Item Name", - "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 - }, + "default": "Opening Invoice Item", + "fieldname": "item_name", + "fieldtype": "Data", + "in_list_view": 1, + "label": "Item Name" + }, { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, - "default": "0", - "fieldname": "outstanding_amount", - "fieldtype": "Currency", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 1, - "in_standard_filter": 0, - "label": "Outstanding Amount", - "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": 1, - "search_index": 0, - "set_only_once": 0, - "unique": 0 - }, + "default": "0", + "fieldname": "outstanding_amount", + "fieldtype": "Currency", + "in_list_view": 1, + "label": "Outstanding Amount", + "reqd": 1 + }, { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, - "fieldname": "column_break_4", - "fieldtype": "Column Break", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 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 - }, + "fieldname": "column_break_4", + "fieldtype": "Column Break" + }, { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, - "default": "1", - "fieldname": "qty", - "fieldtype": "Data", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 0, - "in_standard_filter": 0, - "label": "Quantity", - "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 + "default": "1", + "fieldname": "qty", + "fieldtype": "Data", + "label": "Quantity" + }, + { + "fieldname": "cost_center", + "fieldtype": "Link", + "label": "Cost Center", + "options": "Cost Center" } - ], - "has_web_view": 0, - "hide_heading": 0, - "hide_toolbar": 0, - "idx": 0, - "image_view": 0, - "in_create": 0, - "is_submittable": 0, - "issingle": 0, - "istable": 1, - "max_attachments": 0, - "modified": "2017-12-19 05:07:01.549918", - "modified_by": "Administrator", - "module": "Accounts", - "name": "Opening Invoice Creation Tool Item", - "name_case": "", - "owner": "Administrator", - "permissions": [], - "quick_entry": 1, - "read_only": 0, - "read_only_onload": 0, - "show_name_in_global_search": 0, - "sort_field": "modified", - "sort_order": "DESC", - "track_changes": 1, - "track_seen": 0 + ], + "istable": 1, + "modified": "2019-06-13 11:48:08.324063", + "modified_by": "Administrator", + "module": "Accounts", + "name": "Opening Invoice Creation Tool Item", + "owner": "Administrator", + "permissions": [], + "quick_entry": 1, + "sort_field": "modified", + "sort_order": "DESC", + "track_changes": 1 } \ No newline at end of file diff --git a/erpnext/accounts/doctype/payment_gateway_account/payment_gateway_account_dashboard.py b/erpnext/accounts/doctype/payment_gateway_account/payment_gateway_account_dashboard.py new file mode 100644 index 00000000000..08982296f3d --- /dev/null +++ b/erpnext/accounts/doctype/payment_gateway_account/payment_gateway_account_dashboard.py @@ -0,0 +1,20 @@ +from __future__ import unicode_literals + +from frappe import _ + + +def get_data(): + return { + 'fieldname': 'payment_gateway_account', + 'non_standard_fieldnames': { + 'Subscription Plan': 'payment_gateway' + }, + 'transactions': [ + { + 'items': ['Payment Request'] + }, + { + 'items': ['Subscription Plan'] + } + ] + } diff --git a/erpnext/accounts/doctype/payment_term/payment_term_dashboard.py b/erpnext/accounts/doctype/payment_term/payment_term_dashboard.py new file mode 100644 index 00000000000..d146fcdee38 --- /dev/null +++ b/erpnext/accounts/doctype/payment_term/payment_term_dashboard.py @@ -0,0 +1,22 @@ +from __future__ import unicode_literals + +from frappe import _ + + +def get_data(): + return { + 'fieldname': 'payment_term', + 'transactions': [ + { + 'label': _('Sales'), + 'items': ['Sales Invoice', 'Sales Order', 'Quotation'] + }, + { + 'label': _('Purchase'), + 'items': ['Purchase Invoice', 'Purchase Order'] + }, + { + 'items': ['Payment Terms Template'] + } + ] + } diff --git a/erpnext/accounts/doctype/payment_terms_template/payment_terms_template_dashboard.py b/erpnext/accounts/doctype/payment_terms_template/payment_terms_template_dashboard.py new file mode 100644 index 00000000000..c705097ac66 --- /dev/null +++ b/erpnext/accounts/doctype/payment_terms_template/payment_terms_template_dashboard.py @@ -0,0 +1,33 @@ +from __future__ import unicode_literals + +from frappe import _ + + +def get_data(): + return { + 'fieldname': 'payment_terms_template', + 'non_standard_fieldnames': { + 'Customer Group': 'payment_terms', + 'Supplier Group': 'payment_terms', + 'Supplier': 'payment_terms', + 'Customer': 'payment_terms' + }, + 'transactions': [ + { + 'label': _('Sales'), + 'items': ['Sales Invoice', 'Sales Order', 'Quotation'] + }, + { + 'label': _('Purchase'), + 'items': ['Purchase Invoice', 'Purchase Order'] + }, + { + 'label': _('Party'), + 'items': ['Customer', 'Supplier'] + }, + { + 'label': _('Group'), + 'items': ['Customer Group', 'Supplier Group'] + } + ] + } \ No newline at end of file diff --git a/erpnext/accounts/doctype/pos_profile/pos_profile_dashboard.py b/erpnext/accounts/doctype/pos_profile/pos_profile_dashboard.py new file mode 100644 index 00000000000..e28bf73075f --- /dev/null +++ b/erpnext/accounts/doctype/pos_profile/pos_profile_dashboard.py @@ -0,0 +1,14 @@ +from __future__ import unicode_literals + +from frappe import _ + + +def get_data(): + return { + 'fieldname': 'pos_profile', + 'transactions': [ + { + 'items': ['Sales Invoice', 'POS Closing Voucher'] + } + ] + } diff --git a/erpnext/accounts/doctype/purchase_taxes_and_charges_template/purchase_taxes_and_charges_template_dashboard.py b/erpnext/accounts/doctype/purchase_taxes_and_charges_template/purchase_taxes_and_charges_template_dashboard.py new file mode 100644 index 00000000000..11c220bf2db --- /dev/null +++ b/erpnext/accounts/doctype/purchase_taxes_and_charges_template/purchase_taxes_and_charges_template_dashboard.py @@ -0,0 +1,22 @@ +from __future__ import unicode_literals + +from frappe import _ + + +def get_data(): + return { + 'fieldname': 'taxes_and_charges', + 'non_standard_fieldnames': { + 'Tax Rule': 'purchase_tax_template', + }, + 'transactions': [ + { + 'label': _('Transactions'), + 'items': ['Purchase Invoice', 'Purchase Order', 'Purchase Receipt'] + }, + { + 'label': _('References'), + 'items': ['Supplier Quotation', 'Tax Rule'] + } + ] + } \ No newline at end of file diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice.js b/erpnext/accounts/doctype/sales_invoice/sales_invoice.js index f21fbd97946..07494a27d6d 100644 --- a/erpnext/accounts/doctype/sales_invoice/sales_invoice.js +++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice.js @@ -384,6 +384,10 @@ erpnext.accounts.SalesInvoiceController = erpnext.selling.SellingController.exte me.frm.pos_print_format = r.message.print_format; } me.frm.script_manager.trigger("update_stock"); + if(me.frm.doc.taxes_and_charges) { + me.frm.script_manager.trigger("taxes_and_charges"); + } + frappe.model.set_default_values(me.frm.doc); me.set_dynamic_labels(); me.calculate_taxes_and_totals(); diff --git a/erpnext/accounts/doctype/sales_taxes_and_charges_template/sales_taxes_and_charges_template_dashboard.py b/erpnext/accounts/doctype/sales_taxes_and_charges_template/sales_taxes_and_charges_template_dashboard.py new file mode 100644 index 00000000000..0e9c808608b --- /dev/null +++ b/erpnext/accounts/doctype/sales_taxes_and_charges_template/sales_taxes_and_charges_template_dashboard.py @@ -0,0 +1,24 @@ +from __future__ import unicode_literals + +from frappe import _ + + +def get_data(): + return { + 'fieldname': 'taxes_and_charges', + 'non_standard_fieldnames': { + 'Tax Rule': 'sales_tax_template', + 'Subscription': 'tax_template', + 'Restaurant': 'default_tax_template' + }, + 'transactions': [ + { + 'label': _('Transactions'), + 'items': ['Sales Invoice', 'Sales Order', 'Delivery Note'] + }, + { + 'label': _('References'), + 'items': ['POS Profile', 'Subscription', 'Restaurant', 'Tax Rule'] + } + ] + } \ No newline at end of file diff --git a/erpnext/accounts/doctype/share_type/share_type_dashboard.py b/erpnext/accounts/doctype/share_type/share_type_dashboard.py new file mode 100644 index 00000000000..455b022577a --- /dev/null +++ b/erpnext/accounts/doctype/share_type/share_type_dashboard.py @@ -0,0 +1,15 @@ +from __future__ import unicode_literals + +from frappe import _ + + +def get_data(): + return { + 'fieldname': 'share_type', + 'transactions': [ + { + 'label': _('References'), + 'items': ['Share Transfer', 'Shareholder'] + } + ] + } diff --git a/erpnext/accounts/doctype/shareholder/shareholder_dashboard.py b/erpnext/accounts/doctype/shareholder/shareholder_dashboard.py new file mode 100644 index 00000000000..3b77fd51b5e --- /dev/null +++ b/erpnext/accounts/doctype/shareholder/shareholder_dashboard.py @@ -0,0 +1,17 @@ +from __future__ import unicode_literals + +from frappe import _ + + +def get_data(): + return { + 'fieldname': 'shareholder', + 'non_standard_fieldnames': { + 'Share Transfer': 'to_shareholder' + }, + 'transactions': [ + { + 'items': ['Share Transfer'] + } + ] + } diff --git a/erpnext/accounts/doctype/shipping_rule/shipping_rule_dashboard.py b/erpnext/accounts/doctype/shipping_rule/shipping_rule_dashboard.py new file mode 100644 index 00000000000..636ee5788d3 --- /dev/null +++ b/erpnext/accounts/doctype/shipping_rule/shipping_rule_dashboard.py @@ -0,0 +1,26 @@ +from __future__ import unicode_literals + +from frappe import _ + + +def get_data(): + return { + 'fieldname': 'shipping_rule', + 'non_standard_fieldnames': { + 'Payment Entry': 'party_name' + }, + 'transactions': [ + { + 'label': _('Pre Sales'), + 'items': ['Quotation', 'Supplier Quotation'] + }, + { + 'label': _('Sales'), + 'items': ['Sales Order', 'Delivery Note', 'Sales Invoice'] + }, + { + 'label': _('Purchase'), + 'items': ['Purchase Invoice', 'Purchase Order', 'Purchase Receipt'] + } + ] + } diff --git a/erpnext/accounts/doctype/subscription_plan/subscription_plan_dashboard.py b/erpnext/accounts/doctype/subscription_plan/subscription_plan_dashboard.py new file mode 100644 index 00000000000..df3023335a3 --- /dev/null +++ b/erpnext/accounts/doctype/subscription_plan/subscription_plan_dashboard.py @@ -0,0 +1,19 @@ +from __future__ import unicode_literals + +from frappe import _ + + +def get_data(): + return { + 'fieldname': 'subscription_plan', + 'non_standard_fieldnames': { + 'Payment Request': 'plan', + 'Subscription': 'plan' + }, + 'transactions': [ + { + 'label': _('References'), + 'items': ['Payment Request', 'Subscription'] + } + ] + } diff --git a/erpnext/accounts/doctype/tax_category/tax_category_dashboard.py b/erpnext/accounts/doctype/tax_category/tax_category_dashboard.py new file mode 100644 index 00000000000..d643efb090b --- /dev/null +++ b/erpnext/accounts/doctype/tax_category/tax_category_dashboard.py @@ -0,0 +1,31 @@ +from __future__ import unicode_literals + +from frappe import _ + + +def get_data(): + return { + 'fieldname': 'tax_category', + 'transactions': [ + { + 'label': _('Pre Sales'), + 'items': ['Quotation', 'Supplier Quotation'] + }, + { + 'label': _('Sales'), + 'items': ['Sales Invoice', 'Delivery Note', 'Sales Order'] + }, + { + 'label': _('Purchase'), + 'items': ['Purchase Invoice', 'Purchase Receipt'] + }, + { + 'label': _('Party'), + 'items': ['Customer', 'Supplier'] + }, + { + 'label': _('Taxes'), + 'items': ['Item', 'Tax Rule'] + } + ] + } diff --git a/erpnext/accounts/doctype/tax_withholding_category/tax_withholding_category_dashboard.py b/erpnext/accounts/doctype/tax_withholding_category/tax_withholding_category_dashboard.py new file mode 100644 index 00000000000..d51ba65b13b --- /dev/null +++ b/erpnext/accounts/doctype/tax_withholding_category/tax_withholding_category_dashboard.py @@ -0,0 +1,14 @@ +from __future__ import unicode_literals + +from frappe import _ + + +def get_data(): + return { + 'fieldname': 'tax_withholding_category', + 'transactions': [ + { + 'items': ['Supplier'] + } + ] + } diff --git a/erpnext/accounts/report/accounts_receivable/accounts_receivable.html b/erpnext/accounts/report/accounts_receivable/accounts_receivable.html index d7aa0c0d191..192b6d7be38 100644 --- a/erpnext/accounts/report/accounts_receivable/accounts_receivable.html +++ b/erpnext/accounts/report/accounts_receivable/accounts_receivable.html @@ -46,6 +46,8 @@ var range2 = report.columns[12].label; var range3 = report.columns[13].label; var range4 = report.columns[14].label; + var range5 = report.columns[15].label; + var range6 = report.columns[16].label; %} {% if(balance_row) { %}| {%= __(range2) %} | {%= __(range3) %} | {%= __(range4) %} | +{%= __(range5) %} | +{%= __(range6) %} | {%= __("Total") %} | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| {%= __("Total Outstanding") %} | -{%= format_currency(balance_row[range1]) %} | +{%= format_number(balance_row[range1], null, 2) %} | {%= format_currency(balance_row[range2]) %} | {%= format_currency(balance_row[range3]) %} | {%= format_currency(balance_row[range4]) %} | +{%= format_currency(balance_row[range5]) %} | +{%= format_currency(balance_row[range6]) %} | {%= format_currency(flt(balance_row[("outstanding_amount")]), data[data.length-1]["currency"]) %} | @@ -86,6 +94,8 @@+ | + | {%= format_currency(flt(balance_row[("pdc/lc_amount")]), data[data.length-1]["currency"]) %} | @@ -95,6 +105,8 @@+ | + | {%= format_currency(flt(balance_row[("outstanding_amount")]-balance_row[("pdc/lc_amount")]), data[data.length-1]["currency"]) %} |