diff --git a/erpnext/accounts/party.py b/erpnext/accounts/party.py index d02230f0ee7..b39c5a7dc62 100644 --- a/erpnext/accounts/party.py +++ b/erpnext/accounts/party.py @@ -922,6 +922,15 @@ def get_dashboard_info(party_type, party, loyalty_program=None): if party_type == "Supplier": info["total_unpaid"] = -1 * info["total_unpaid"] + if info["total_unpaid"] < 0: + info["balance_label"] = ( + "Total Advance Paid" if party_type == "Supplier" else "Total Advance Received" + ) + info["balance_amount"] = abs(info["total_unpaid"]) + else: + info["balance_label"] = "Total Unpaid" + info["balance_amount"] = info["total_unpaid"] + company_wise_info.append(info) return company_wise_info diff --git a/erpnext/public/js/utils.js b/erpnext/public/js/utils.js index 3ae0b3d1835..8746aa822aa 100755 --- a/erpnext/public/js/utils.js +++ b/erpnext/public/js/utils.js @@ -93,11 +93,19 @@ $.extend(erpnext.utils, { ]), "blue" ); + var info = company_wise_info[0]; + var is_advance = info.balance_label !== "Total Unpaid"; + var indicator_label = + info.balance_label === "Total Advance Paid" + ? __("Total Advance Paid: {0}", [format_currency(info.balance_amount, info.currency)]) + : info.balance_label === "Total Advance Received" + ? __("Total Advance Received: {0}", [ + format_currency(info.balance_amount, info.currency), + ]) + : __("Total Unpaid: {0}", [format_currency(info.balance_amount, info.currency)]); frm.dashboard.add_indicator( - __("Total Unpaid: {0}", [ - format_currency(company_wise_info[0].total_unpaid, company_wise_info[0].currency), - ]), - company_wise_info[0].total_unpaid ? "orange" : "green" + indicator_label, + is_advance ? "green" : info.balance_amount ? "orange" : "green" ); if (company_wise_info[0].loyalty_points) { @@ -140,7 +148,14 @@ $.extend(erpnext.utils, { frm.dashboard.stats_area_row.addClass("flex"); frm.dashboard.stats_area_row.css("flex-wrap", "wrap"); - var color = info.total_unpaid ? "orange" : "green"; + var is_advance = info.balance_label !== "Total Unpaid"; + var color = is_advance ? "green" : info.balance_amount ? "orange" : "green"; + var balance_label_text = + info.balance_label === "Total Advance Paid" + ? __("Total Advance Paid") + : info.balance_label === "Total Advance Received" + ? __("Total Advance Received") + : __("Total Unpaid"); var indicator = $( '
' + @@ -154,8 +169,10 @@ $.extend(erpnext.utils, { '" + "
" ).appendTo(frm.dashboard.stats_area_row);