diff --git a/erpnext/buying/number_card/average_order_values/average_order_values.json b/erpnext/buying/number_card/average_order_values/average_order_values.json new file mode 100644 index 0000000000000000000000000000000000000000..15ac1f2ecec84cb03fb61a2b77d95044f1e64270 --- /dev/null +++ b/erpnext/buying/number_card/average_order_values/average_order_values.json @@ -0,0 +1,26 @@ +{ + "aggregate_function_based_on": "base_rounded_total", + "creation": "2025-12-19 16:10:00.369804", + "currency": "", + "docstatus": 0, + "doctype": "Number Card", + "document_type": "Purchase Order", + "dynamic_filters_json": "[[\"Purchase Order\",\"company\",\"=\",\"frappe.defaults.get_user_default(\\\"Company\\\")\"]]", + "filters_json": "[[\"Purchase Order\",\"transaction_date\",\"Timespan\",\"this quarter\"],[\"Purchase Order\",\"docstatus\",\"=\",\"1\"],[\"Purchase Order\",\"is_subcontracted\",\"=\",0]]", + "function": "Average", + "idx": 0, + "is_public": 1, + "is_standard": 1, + "label": "Average Order Values", + "modified": "2025-12-19 16:57:02.546572", + "modified_by": "Administrator", + "module": "Buying", + "name": "Average Order Values", + "owner": "Administrator", + "parent_document_type": "", + "report_function": "Sum", + "show_full_number": 0, + "show_percentage_stats": 1, + "stats_time_interval": "Weekly", + "type": "Document Type" +} diff --git a/erpnext/buying/number_card/purchase_orders_count/purchase_orders_count.json b/erpnext/buying/number_card/purchase_orders_count/purchase_orders_count.json new file mode 100644 index 0000000000000000000000000000000000000000..8e88f6877e4af4e44faafd70e00ff648cb178ba1 --- /dev/null +++ b/erpnext/buying/number_card/purchase_orders_count/purchase_orders_count.json @@ -0,0 +1,26 @@ +{ + "aggregate_function_based_on": "", + "creation": "2025-12-19 16:08:48.262514", + "currency": "", + "docstatus": 0, + "doctype": "Number Card", + "document_type": "Purchase Order", + "dynamic_filters_json": "[[\"Purchase Order\",\"company\",\"=\",\"frappe.defaults.get_user_default(\\\"Company\\\")\"]]", + "filters_json": "[[\"Purchase Order\",\"transaction_date\",\"Timespan\",\"this quarter\"],[\"Purchase Order\",\"docstatus\",\"=\",\"1\"],[\"Purchase Order\",\"is_subcontracted\",\"=\",0]]", + "function": "Count", + "idx": 1, + "is_public": 1, + "is_standard": 1, + "label": "Purchase Orders Count", + "modified": "2025-12-19 16:57:12.960310", + "modified_by": "Administrator", + "module": "Buying", + "name": "Purchase Orders Count", + "owner": "Administrator", + "parent_document_type": "", + "report_function": "Sum", + "show_full_number": 0, + "show_percentage_stats": 1, + "stats_time_interval": "Weekly", + "type": "Document Type" +} diff --git a/erpnext/buying/number_card/total_purchase_amount/total_purchase_amount.json b/erpnext/buying/number_card/total_purchase_amount/total_purchase_amount.json new file mode 100644 index 0000000000000000000000000000000000000000..05bdc742dc009bd5cf4efcf8ba324c6d0a0d784c --- /dev/null +++ b/erpnext/buying/number_card/total_purchase_amount/total_purchase_amount.json @@ -0,0 +1,26 @@ +{ + "aggregate_function_based_on": "base_rounded_total", + "creation": "2025-12-19 16:07:19.293268", + "currency": "", + "docstatus": 0, + "doctype": "Number Card", + "document_type": "Purchase Order", + "dynamic_filters_json": "[[\"Purchase Order\",\"company\",\"=\",\"frappe.defaults.get_user_default(\\\"Company\\\")\"]]", + "filters_json": "[[\"Purchase Order\",\"transaction_date\",\"Timespan\",\"this quarter\"],[\"Purchase Order\",\"docstatus\",\"=\",\"1\"],[\"Purchase Order\",\"is_subcontracted\",\"=\",0]]", + "function": "Sum", + "idx": 0, + "is_public": 1, + "is_standard": 1, + "label": "Total Purchase Amount", + "modified": "2025-12-19 16:57:24.263495", + "modified_by": "Administrator", + "module": "Buying", + "name": "Total Purchase Amount", + "owner": "Administrator", + "parent_document_type": "", + "report_function": "Sum", + "show_full_number": 0, + "show_percentage_stats": 0, + "stats_time_interval": "Weekly", + "type": "Document Type" +} diff --git a/erpnext/buying/report/purchase_order_trends/purchase_order_trends.py b/erpnext/buying/report/purchase_order_trends/purchase_order_trends.py index a7b4a7207c6a5dc4d3485a3086696bbd070a5d8a..dd518e838addc08473a0ed558c7a20982bc845ae 100644 --- a/erpnext/buying/report/purchase_order_trends/purchase_order_trends.py +++ b/erpnext/buying/report/purchase_order_trends/purchase_order_trends.py @@ -36,7 +36,7 @@ def get_chart_data(data, conditions, filters): # fetch only periodic columns as labels columns = conditions.get("columns")[start:-2][2::2] - labels = [column.split(":")[0] for column in columns] + labels = [column.split(":")[0].replace(" (Amt)", "") for column in columns] datapoints = [0] * len(labels) for row in data: diff --git a/erpnext/buying/workspace/buying/buying.json b/erpnext/buying/workspace/buying/buying.json index c0b3545d58066dd53b9433be7abdedc8c07c1a10..bdccfcfb0afa767087e67f6b2208454978b58bb2 100644 --- a/erpnext/buying/workspace/buying/buying.json +++ b/erpnext/buying/workspace/buying/buying.json @@ -10,8 +10,7 @@ "label": "Top Purchased Items" } ], - "color": "#e76f51", - "content": "[{\"id\":\"m4R_ERYGVe\",\"type\":\"header\",\"data\":{\"text\":\"Purchase Orders Indicators\",\"col\":3}},{\"id\":\"XCvyDOErQa\",\"type\":\"header\",\"data\":{\"text\":\"Purchase Invoices Indicators\",\"col\":9}},{\"id\":\"vdUrzrP4DQ\",\"type\":\"number_card\",\"data\":{\"number_card_name\":\"Total Orders This Year\",\"col\":3}},{\"id\":\"I0dmANpLlO\",\"type\":\"number_card\",\"data\":{\"number_card_name\":\"Total Purchases This Year\",\"col\":3}},{\"id\":\"IIb38cwfrK\",\"type\":\"number_card\",\"data\":{\"number_card_name\":\"Total Purchases Last Month\",\"col\":3}},{\"id\":\"GYYKFlHyLA\",\"type\":\"number_card\",\"data\":{\"number_card_name\":\"Total Purchases This Month\",\"col\":3}},{\"id\":\"S3wW48kubp\",\"type\":\"spacer\",\"data\":{\"col\":12}},{\"id\":\"FBCT81OI23\",\"type\":\"header\",\"data\":{\"text\":\"Key Indicators\",\"col\":12}},{\"id\":\"HKbuRo9v80\",\"type\":\"chart\",\"data\":{\"chart_name\":\"Top Purchased Items\",\"col\":6}},{\"id\":\"kgc77D1enl\",\"type\":\"chart\",\"data\":{\"chart_name\":\"Top Purchasing Groups\",\"col\":6}}]", + "content": "[{\"id\":\"j3dJGo8Ok6\",\"type\":\"chart\",\"data\":{\"chart_name\":\"Purchase Order Trends\",\"col\":12}},{\"id\":\"k75jSq2D6Z\",\"type\":\"number_card\",\"data\":{\"number_card_name\":\"Purchase Orders Count\",\"col\":4}},{\"id\":\"UPXys0lQLj\",\"type\":\"number_card\",\"data\":{\"number_card_name\":\"Total Purchase Amount\",\"col\":4}},{\"id\":\"yQGK3eb2hg\",\"type\":\"number_card\",\"data\":{\"number_card_name\":\"Average Order Values\",\"col\":4}},{\"id\":\"oN7lXSwQji\",\"type\":\"spacer\",\"data\":{\"col\":12}},{\"id\":\"Ivw1PI_wEJ\",\"type\":\"header\",\"data\":{\"text\":\"Your Shortcuts\",\"col\":12}},{\"id\":\"RrWFEi4kCf\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Item\",\"col\":3}},{\"id\":\"RFIakryyJP\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Material Request\",\"col\":3}},{\"id\":\"bM10abFmf6\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Purchase Order\",\"col\":3}},{\"id\":\"lR0Hw_37Pu\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Purchase Analytics\",\"col\":3}},{\"id\":\"_HN0Ljw1lX\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Purchase Order Analysis\",\"col\":3}},{\"id\":\"kuLuiMRdnX\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Dashboard\",\"col\":3}},{\"id\":\"tQFeiKptW2\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Learn Procurement\",\"col\":3}},{\"id\":\"0NiuFE_EGS\",\"type\":\"spacer\",\"data\":{\"col\":12}},{\"id\":\"Xe2GVLOq8J\",\"type\":\"header\",\"data\":{\"text\":\"Reports & Masters\",\"col\":12}},{\"id\":\"QwqyG6XuUt\",\"type\":\"card\",\"data\":{\"card_name\":\"Buying\",\"col\":4}},{\"id\":\"bTPjOxC_N_\",\"type\":\"card\",\"data\":{\"card_name\":\"Items & Pricing\",\"col\":4}},{\"id\":\"87ht0HIneb\",\"type\":\"card\",\"data\":{\"card_name\":\"Settings\",\"col\":4}},{\"id\":\"EDOsBOmwgw\",\"type\":\"card\",\"data\":{\"card_name\":\"Supplier\",\"col\":4}},{\"id\":\"oWNNIiNb2i\",\"type\":\"card\",\"data\":{\"card_name\":\"Supplier Scorecard\",\"col\":4}},{\"id\":\"7F_13-ihHB\",\"type\":\"card\",\"data\":{\"card_name\":\"Key Reports\",\"col\":4}},{\"id\":\"pfwiLvionl\",\"type\":\"card\",\"data\":{\"card_name\":\"Other Reports\",\"col\":4}},{\"id\":\"8ySDy6s4qn\",\"type\":\"card\",\"data\":{\"card_name\":\"Regional\",\"col\":4}}]", "creation": "2020-01-28 11:50:26.195467", "custom_blocks": [], "docstatus": 0, @@ -361,11 +360,32 @@ "type": "Link" } ], - "modified": "2025-07-18 22:59:01.694332", + "modified": "2025-12-19 16:12:02.461082", "modified_by": "Administrator", "module": "Buying", "name": "Buying", "number_cards": [ + { + "label": "Purchase Orders Count", + "number_card_name": "Purchase Orders Count" + }, + { + "label": "Total Purchase Amount", + "number_card_name": "Total Purchase Amount" + }, + { + "label": "Average Order Values", + "number_card_name": "Average Order Values" + } + ], + "owner": "Administrator", + "parent_page": "", + "public": 1, + "quick_lists": [], + "restrict_to_domain": "", + "roles": [], + "sequence_id": 5.0, + "shortcuts": [ { "label": "Total Purchases Last Month", "number_card_name": "Last Month Incoming Bills" @@ -379,18 +399,31 @@ "number_card_name": "Current Month Incoming Bills" }, { - "label": "Total Purchases This Year", - "number_card_name": "Total Incoming Bills" + "color": "Yellow", + "format": "{} To Receive", + "label": "Purchase Order", + "link_to": "Purchase Order", + "stats_filter": "{\n \"company\": [\"like\", '%' + frappe.defaults.get_global_default(\"company\") + '%'],\n \"status\":[\"in\", [\"To Receive\", \"To Receive and Bill\"]]\n}", + "type": "DocType" + }, + { + "label": "Purchase Analytics", + "link_to": "Purchase Analytics", + "report_ref_doctype": "Purchase Order", + "type": "Report" + }, + { + "label": "Purchase Order Analysis", + "link_to": "Purchase Order Analysis", + "report_ref_doctype": "Purchase Order", + "type": "Report" + }, + { + "label": "Dashboard", + "link_to": "Buying", + "type": "Dashboard" } ], - "owner": "Administrator", - "parent_page": "", - "public": 1, - "quick_lists": [], - "restrict_to_domain": "Buying", - "roles": [], - "sequence_id": 8.0, - "shortcuts": [], "title": "Buying", "type": "Workspace" }