diff --git a/erpnext/subcontracting/dashboard_chart/subcontracting_order/subcontracting_order.json b/erpnext/subcontracting/dashboard_chart/subcontracting_order/subcontracting_order.json
new file mode 100644
index 0000000000000000000000000000000000000000..86aec126b164d5373a3f134d914f73235f325239
--- /dev/null
+++ b/erpnext/subcontracting/dashboard_chart/subcontracting_order/subcontracting_order.json
@@ -0,0 +1,33 @@
+{
+ "based_on": "transaction_date",
+ "chart_name": "Subcontracting Order",
+ "chart_type": "Sum",
+ "creation": "2025-12-19 16:49:45.234176",
+ "currency": "",
+ "docstatus": 0,
+ "doctype": "Dashboard Chart",
+ "document_type": "Purchase Order",
+ "dynamic_filters_json": "[]",
+ "filters_json": "[[\"Purchase Order\",\"is_subcontracted\",\"=\",1],[\"Purchase Order\",\"docstatus\",\"=\",\"1\"]]",
+ "group_by_type": "Count",
+ "idx": 0,
+ "is_public": 1,
+ "is_standard": 1,
+ "modified": "2025-12-19 16:49:45.234176",
+ "modified_by": "Administrator",
+ "module": "Subcontracting",
+ "name": "Subcontracting Order",
+ "number_of_groups": 0,
+ "owner": "Administrator",
+ "parent_document_type": "",
+ "roles": [],
+ "show_values_over_chart": 0,
+ "source": "",
+ "time_interval": "Monthly",
+ "timeseries": 1,
+ "timespan": "Last Year",
+ "type": "Line",
+ "use_report_chart": 0,
+ "value_based_on": "base_grand_total",
+ "y_axis": []
+}
diff --git a/erpnext/subcontracting/number_card/active_subcontracted_items/active_subcontracted_items.json b/erpnext/subcontracting/number_card/active_subcontracted_items/active_subcontracted_items.json
new file mode 100644
index 0000000000000000000000000000000000000000..9e6badae022d523dd1b3cd9d298ee7d0f64b6a7b
--- /dev/null
+++ b/erpnext/subcontracting/number_card/active_subcontracted_items/active_subcontracted_items.json
@@ -0,0 +1,26 @@
+{
+ "aggregate_function_based_on": "",
+ "creation": "2025-12-19 16:44:35.269189",
+ "currency": "",
+ "docstatus": 0,
+ "doctype": "Number Card",
+ "document_type": "Item",
+ "dynamic_filters_json": "[]",
+ "filters_json": "[[\"Item\",\"is_sub_contracted_item\",\"=\",1]]",
+ "function": "Count",
+ "idx": 0,
+ "is_public": 1,
+ "is_standard": 1,
+ "label": "Active Subcontracted Items",
+ "modified": "2025-12-19 16:58:10.597779",
+ "modified_by": "Administrator",
+ "module": "Subcontracting",
+ "name": "Active Subcontracted Items",
+ "owner": "Administrator",
+ "parent_document_type": "",
+ "report_function": "Sum",
+ "show_full_number": 0,
+ "show_percentage_stats": 1,
+ "stats_time_interval": "Daily",
+ "type": "Document Type"
+}
diff --git a/erpnext/subcontracting/number_card/subcontracting_inward_order_count/subcontracting_inward_order_count.json b/erpnext/subcontracting/number_card/subcontracting_inward_order_count/subcontracting_inward_order_count.json
new file mode 100644
index 0000000000000000000000000000000000000000..27a9c7ca92905b79bbe96cf545e2f2940fc5750a
--- /dev/null
+++ b/erpnext/subcontracting/number_card/subcontracting_inward_order_count/subcontracting_inward_order_count.json
@@ -0,0 +1,26 @@
+{
+ "aggregate_function_based_on": "",
+ "creation": "2025-12-19 16:38:59.379228",
+ "currency": "",
+ "docstatus": 0,
+ "doctype": "Number Card",
+ "document_type": "Subcontracting Inward Order",
+ "dynamic_filters_json": "[[\"Subcontracting Inward Order\",\"company\",\"=\",\"frappe.defaults.get_user_default(\\\"Company\\\")\"]]",
+ "filters_json": "[[\"Subcontracting Inward Order\",\"transaction_date\",\"Timespan\",\"this quarter\"],[\"Subcontracting Inward Order\",\"docstatus\",\"=\",\"1\"]]",
+ "function": "Count",
+ "idx": 0,
+ "is_public": 1,
+ "is_standard": 1,
+ "label": "Subcontracting Inward Order Count",
+ "modified": "2025-12-19 16:58:06.551979",
+ "modified_by": "Administrator",
+ "module": "Subcontracting",
+ "name": "Subcontracting Inward Order 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/subcontracting/number_card/subcontracting_outward_order_count/subcontracting_outward_order_count.json b/erpnext/subcontracting/number_card/subcontracting_outward_order_count/subcontracting_outward_order_count.json
new file mode 100644
index 0000000000000000000000000000000000000000..6b91a6416780ff73e715778f06196ee0cbd4e3ae
--- /dev/null
+++ b/erpnext/subcontracting/number_card/subcontracting_outward_order_count/subcontracting_outward_order_count.json
@@ -0,0 +1,26 @@
+{
+ "aggregate_function_based_on": "",
+ "creation": "2025-12-19 16:39:24.165409",
+ "currency": "",
+ "docstatus": 0,
+ "doctype": "Number Card",
+ "document_type": "Subcontracting Order",
+ "dynamic_filters_json": "[[\"Subcontracting Order\",\"company\",\"=\",\"frappe.defaults.get_user_default(\\\"Company\\\")\"]]",
+ "filters_json": "[[\"Subcontracting Order\",\"transaction_date\",\"Timespan\",\"this quarter\"],[\"Subcontracting Order\",\"docstatus\",\"=\",\"1\"]]",
+ "function": "Count",
+ "idx": 0,
+ "is_public": 1,
+ "is_standard": 1,
+ "label": "Subcontracting Outward Order Count",
+ "modified": "2025-12-19 16:58:02.392044",
+ "modified_by": "Administrator",
+ "module": "Subcontracting",
+ "name": "Subcontracting Outward Order 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/subcontracting/workspace/subcontracting/subcontracting.json b/erpnext/subcontracting/workspace/subcontracting/subcontracting.json
index 0a0766ceb0fc409719e37f9e1b06ea4a9eeee20b..f0d703e0798344f06b7f3f1da6b9989001f20e93 100644
--- a/erpnext/subcontracting/workspace/subcontracting/subcontracting.json
+++ b/erpnext/subcontracting/workspace/subcontracting/subcontracting.json
@@ -1,7 +1,12 @@
{
"app": "erpnext",
- "charts": [],
- "content": "[{\"id\":\"csBCiDglCE\",\"type\":\"header\",\"data\":{\"text\":\"Your Shortcuts\",\"col\":12}},{\"id\":\"YHCQG3wAGv\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Sales Order\",\"col\":3}},{\"id\":\"xit0dg7KvY\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Subcontracting Inward Order\",\"col\":3}},{\"id\":\"LRhGV9GAov\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Subcontracting Delivery\",\"col\":3}},{\"id\":\"69KKosI6Hg\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Purchase Order\",\"col\":3}},{\"id\":\"PwndxuIpB3\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Subcontracting Order\",\"col\":3}},{\"id\":\"Ubj6zXcmIQ\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Subcontracting Receipt\",\"col\":3}},{\"id\":\"OaiDqTT03Y\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Subcontracting BOM\",\"col\":3}},{\"id\":\"bN_6tHS-Ct\",\"type\":\"spacer\",\"data\":{\"col\":12}},{\"id\":\"yVEFZMqVwd\",\"type\":\"header\",\"data\":{\"text\":\"Reports & Masters\",\"col\":12}},{\"id\":\"CIq-v5f5KC\",\"type\":\"card\",\"data\":{\"card_name\":\"Reports\",\"col\":4}}]",
+ "charts": [
+ {
+ "chart_name": "Subcontracting Order",
+ "label": "Subcontracting Outward Order"
+ }
+ ],
+ "content": "[{\"id\":\"ednT7K5OAg\",\"type\":\"chart\",\"data\":{\"chart_name\":\"Subcontracting Outward Order\",\"col\":12}},{\"id\":\"IlzVs7JD8u\",\"type\":\"number_card\",\"data\":{\"number_card_name\":\"Subcontracting Outward Order Count\",\"col\":4}},{\"id\":\"wB9idWUvTB\",\"type\":\"number_card\",\"data\":{\"number_card_name\":\"Subcontracting Inward Order Count\",\"col\":4}},{\"id\":\"4QwMfBRGk8\",\"type\":\"number_card\",\"data\":{\"number_card_name\":\"Active Subcontracted Items\",\"col\":4}},{\"id\":\"yVEFZMqVwd\",\"type\":\"header\",\"data\":{\"text\":\"Subcontracting Inward and Outward\",\"col\":12}},{\"id\":\"PXXMxfhCfA\",\"type\":\"card\",\"data\":{\"card_name\":\"Subcontracting Inward Order\",\"col\":4}},{\"id\":\"ir3NsTvngO\",\"type\":\"card\",\"data\":{\"card_name\":\"Subcontracting Outward Order\",\"col\":4}},{\"id\":\"CIq-v5f5KC\",\"type\":\"card\",\"data\":{\"card_name\":\"Reports\",\"col\":4}}]",
"creation": "2020-03-02 17:11:37.032604",
"custom_blocks": [],
"docstatus": 0,
@@ -53,77 +58,112 @@
"link_type": "Report",
"onboard": 0,
"type": "Link"
- }
- ],
- "modified": "2025-11-06 15:47:49.653794",
- "modified_by": "Administrator",
- "module": "Subcontracting",
- "name": "Subcontracting",
- "number_cards": [],
- "owner": "Administrator",
- "parent_page": "",
- "public": 1,
- "quick_lists": [],
- "restrict_to_domain": "",
- "roles": [],
- "sequence_id": 8.0,
- "shortcuts": [
+ },
{
- "color": "Grey",
- "doc_view": "List",
+ "hidden": 0,
+ "is_query_report": 0,
+ "label": "Subcontracting Inward Order",
+ "link_count": 3,
+ "link_type": "DocType",
+ "onboard": 0,
+ "type": "Card Break"
+ },
+ {
+ "hidden": 0,
+ "is_query_report": 0,
"label": "Sales Order",
+ "link_count": 0,
"link_to": "Sales Order",
- "stats_filter": "[]",
- "type": "DocType"
+ "link_type": "DocType",
+ "onboard": 0,
+ "type": "Link"
},
{
- "color": "Grey",
- "doc_view": "List",
+ "hidden": 0,
+ "is_query_report": 0,
"label": "Subcontracting Inward Order",
+ "link_count": 0,
"link_to": "Subcontracting Inward Order",
- "stats_filter": "[]",
- "type": "DocType"
+ "link_type": "DocType",
+ "onboard": 0,
+ "type": "Link"
},
{
- "color": "Grey",
- "doc_view": "List",
+ "hidden": 0,
+ "is_query_report": 0,
"label": "Subcontracting Delivery",
+ "link_count": 0,
"link_to": "Stock Entry",
- "stats_filter": "[]",
- "type": "DocType"
+ "link_type": "DocType",
+ "onboard": 0,
+ "type": "Link"
},
{
- "color": "Grey",
- "doc_view": "List",
+ "hidden": 0,
+ "is_query_report": 0,
+ "label": "Subcontracting Outward Order",
+ "link_count": 3,
+ "link_type": "DocType",
+ "onboard": 0,
+ "type": "Card Break"
+ },
+ {
+ "hidden": 0,
+ "is_query_report": 0,
"label": "Purchase Order",
+ "link_count": 0,
"link_to": "Purchase Order",
- "stats_filter": "[]",
- "type": "DocType"
+ "link_type": "DocType",
+ "onboard": 0,
+ "type": "Link"
},
{
- "color": "Grey",
- "doc_view": "List",
- "label": "Subcontracting Order",
+ "hidden": 0,
+ "is_query_report": 0,
+ "label": "Subcontracting Outward Order",
+ "link_count": 0,
"link_to": "Subcontracting Order",
- "stats_filter": "[]",
- "type": "DocType"
+ "link_type": "DocType",
+ "onboard": 0,
+ "type": "Link"
},
{
- "color": "Grey",
- "doc_view": "List",
+ "hidden": 0,
+ "is_query_report": 0,
"label": "Subcontracting Receipt",
+ "link_count": 0,
"link_to": "Subcontracting Receipt",
- "stats_filter": "[]",
- "type": "DocType"
+ "link_type": "DocType",
+ "onboard": 0,
+ "type": "Link"
+ }
+ ],
+ "modified": "2025-12-19 16:50:25.976741",
+ "modified_by": "Administrator",
+ "module": "Subcontracting",
+ "name": "Subcontracting",
+ "number_cards": [
+ {
+ "label": "Subcontracting Outward Order Count",
+ "number_card_name": "Subcontracting Outward Order Count"
+ },
+ {
+ "label": "Active Subcontracted Items",
+ "number_card_name": "Active Subcontracted Items"
},
{
- "doc_view": "List",
- "label": "Subcontracting BOM",
- "link_to": "Subcontracting BOM",
- "stats_filter": "[]",
- "type": "DocType"
+ "label": "Subcontracting Inward Order Count",
+ "number_card_name": "Subcontracting Inward Order Count"
}
],
+ "owner": "Administrator",
+ "parent_page": "",
+ "public": 1,
+ "quick_lists": [],
+ "restrict_to_domain": "",
+ "roles": [],
+ "sequence_id": 8.0,
+ "shortcuts": [],
"title": "Subcontracting",
"type": "Workspace"
}
diff --git a/erpnext/workspace_sidebar/subcontracting.json b/erpnext/workspace_sidebar/subcontracting.json
index 0fd05b13d112e64a569b3560230bf6f18b5c9960..f277b5de09b52d93c61f9221f9cef819ce3b0841 100644
--- a/erpnext/workspace_sidebar/subcontracting.json
+++ b/erpnext/workspace_sidebar/subcontracting.json
@@ -6,6 +6,18 @@
"header_icon": "getting-started",
"idx": 0,
"items": [
+ {
+ "child": 0,
+ "collapsible": 1,
+ "icon": "home",
+ "indent": 0,
+ "keep_closed": 0,
+ "label": "Home",
+ "link_to": "Subcontracting",
+ "link_type": "Workspace",
+ "show_arrow": 0,
+ "type": "Link"
+ },
{
"child": 0,
"collapsible": 1,
@@ -195,7 +207,7 @@
"type": "Link"
}
],
- "modified": "2025-11-25 10:46:09.146438",
+ "modified": "2025-12-19 16:52:24.076660",
"modified_by": "Administrator",
"module": "Buying",
"name": "Subcontracting",