From d49dc420a6994aa425a11b3a1f40ed6f46fe5551 Mon Sep 17 00:00:00 2001 From: Antoine Maas Date: Wed, 30 Apr 2025 14:27:22 +0200 Subject: [PATCH 1/9] feat: initialise domain buying --- erpnext/domains/buying.yaml | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 erpnext/domains/buying.yaml diff --git a/erpnext/domains/buying.yaml b/erpnext/domains/buying.yaml new file mode 100644 index 0000000000..3436c47f21 --- /dev/null +++ b/erpnext/domains/buying.yaml @@ -0,0 +1,11 @@ +restricted_roles: + - Purchase Master Manager + - Purchase Manager + - Purchase User + +modules: + - Buying + +domain: + title: Buying + description: Disable or enabled the buying module \ No newline at end of file -- GitLab From 5f5f52288587d83485d8106864df8762ce6761a5 Mon Sep 17 00:00:00 2001 From: Antoine Maas Date: Wed, 30 Apr 2025 14:43:25 +0200 Subject: [PATCH 2/9] feat: buying workspaces restricted to domain --- erpnext/buying/workspace/buying/buying.json | 781 +++++++++--------- .../purchasing_data/purchasing_data.json | 5 +- .../purchasing_flow/purchasing_flow.json | 162 ++-- .../purchasing_reports.json | 683 +++++++-------- 4 files changed, 818 insertions(+), 813 deletions(-) diff --git a/erpnext/buying/workspace/buying/buying.json b/erpnext/buying/workspace/buying/buying.json index ba08dbef8d..4f059a83d1 100644 --- a/erpnext/buying/workspace/buying/buying.json +++ b/erpnext/buying/workspace/buying/buying.json @@ -1,392 +1,395 @@ { - "charts": [ - { - "chart_name": "Top Purchasing Groups", - "label": "Top Purchasing Groups" - }, - { - "chart_name": "Top Purchased Items", - "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}}]", - "creation": "2020-01-28 11:50:26.195467", - "docstatus": 0, - "doctype": "Workspace", - "hide_custom": 0, - "icon": "buying", - "idx": 0, - "is_hidden": 0, - "is_standard": 1, - "label": "Buying", - "links": [ - { - "columns": 0, - "dependencies": "Item", - "hidden": 0, - "is_query_report": 0, - "label": "Material Request", - "link_count": 0, - "link_to": "Material Request", - "link_type": "DocType", - "onboard": 1, - "type": "Link" - }, - { - "columns": 0, - "dependencies": "Item, Supplier", - "hidden": 0, - "is_query_report": 0, - "label": "Purchase Order", - "link_count": 0, - "link_to": "Purchase Order", - "link_type": "DocType", - "onboard": 1, - "type": "Link" - }, - { - "columns": 0, - "dependencies": "Item, Supplier", - "hidden": 0, - "is_query_report": 0, - "label": "Purchase Invoice", - "link_count": 0, - "link_to": "Purchase Invoice", - "link_type": "DocType", - "onboard": 1, - "type": "Link" - }, - { - "columns": 0, - "dependencies": "Item, Supplier", - "hidden": 0, - "is_query_report": 0, - "label": "Request for Quotation", - "link_count": 0, - "link_to": "Request for Quotation", - "link_type": "DocType", - "onboard": 1, - "type": "Link" - }, - { - "columns": 0, - "dependencies": "Item, Supplier", - "hidden": 0, - "is_query_report": 0, - "label": "Supplier Quotation", - "link_count": 0, - "link_to": "Supplier Quotation", - "link_type": "DocType", - "onboard": 0, - "type": "Link" - }, - { - "columns": 0, - "dependencies": "", - "hidden": 0, - "is_query_report": 0, - "label": "Item", - "link_count": 0, - "link_to": "Item", - "link_type": "DocType", - "onboard": 1, - "type": "Link" - }, - { - "columns": 0, - "dependencies": "", - "hidden": 0, - "is_query_report": 0, - "label": "Item Price", - "link_count": 0, - "link_to": "Item Price", - "link_type": "DocType", - "onboard": 1, - "type": "Link" - }, - { - "columns": 0, - "dependencies": "", - "hidden": 0, - "is_query_report": 0, - "label": "Price List", - "link_count": 0, - "link_to": "Price List", - "link_type": "DocType", - "onboard": 1, - "type": "Link" - }, - { - "columns": 0, - "dependencies": "", - "hidden": 0, - "is_query_report": 0, - "label": "Product Bundle", - "link_count": 0, - "link_to": "Product Bundle", - "link_type": "DocType", - "onboard": 0, - "type": "Link" - }, - { - "columns": 0, - "dependencies": "", - "hidden": 0, - "is_query_report": 0, - "label": "Item Group", - "link_count": 0, - "link_to": "Item Group", - "link_type": "DocType", - "onboard": 0, - "type": "Link" - }, - { - "columns": 0, - "dependencies": "", - "hidden": 0, - "is_query_report": 0, - "label": "Promotional Scheme", - "link_count": 0, - "link_to": "Promotional Scheme", - "link_type": "DocType", - "onboard": 0, - "type": "Link" - }, - { - "columns": 0, - "dependencies": "", - "hidden": 0, - "is_query_report": 0, - "label": "Pricing Rule", - "link_count": 0, - "link_to": "Pricing Rule", - "link_type": "DocType", - "onboard": 0, - "type": "Link" - }, - { - "columns": 0, - "dependencies": "", - "hidden": 0, - "is_query_report": 1, - "label": "Purchase Analytics", - "link_count": 0, - "link_to": "Purchase Analytics", - "link_type": "Report", - "onboard": 1, - "type": "Link" - }, - { - "columns": 0, - "dependencies": "", - "hidden": 0, - "is_query_report": 1, - "label": "Purchase Order Analysis", - "link_count": 0, - "link_to": "Purchase Order Analysis", - "link_type": "Report", - "onboard": 1, - "type": "Link" - }, - { - "columns": 0, - "dependencies": "", - "hidden": 0, - "is_query_report": 1, - "label": "Supplier-Wise Sales Analytics", - "link_count": 0, - "link_to": "Supplier-Wise Sales Analytics", - "link_type": "Report", - "onboard": 1, - "type": "Link" - }, - { - "columns": 0, - "dependencies": "", - "hidden": 0, - "is_query_report": 1, - "label": "Items to Order and Receive", - "link_count": 0, - "link_to": "Requested Items to Order and Receive", - "link_type": "Report", - "onboard": 1, - "type": "Link" - }, - { - "columns": 0, - "dependencies": "", - "hidden": 0, - "is_query_report": 1, - "label": "Purchase Order Trends", - "link_count": 0, - "link_to": "Purchase Order Trends", - "link_type": "Report", - "onboard": 1, - "type": "Link" - }, - { - "columns": 0, - "dependencies": "", - "hidden": 0, - "is_query_report": 1, - "label": "Procurement Tracker", - "link_count": 0, - "link_to": "Procurement Tracker", - "link_type": "Report", - "onboard": 1, - "type": "Link" - }, - { - "columns": 0, - "dependencies": "", - "hidden": 0, - "is_query_report": 1, - "label": "Items To Be Requested", - "link_count": 0, - "link_to": "Items To Be Requested", - "link_type": "Report", - "onboard": 1, - "type": "Link" - }, - { - "columns": 0, - "dependencies": "", - "hidden": 0, - "is_query_report": 1, - "label": "Item-wise Purchase History", - "link_count": 0, - "link_to": "Item-wise Purchase History", - "link_type": "Report", - "onboard": 1, - "type": "Link" - }, - { - "columns": 0, - "dependencies": "", - "hidden": 0, - "is_query_report": 1, - "label": "Purchase Receipt Trends", - "link_count": 0, - "link_to": "Purchase Receipt Trends", - "link_type": "Report", - "onboard": 0, - "type": "Link" - }, - { - "columns": 0, - "dependencies": "", - "hidden": 0, - "is_query_report": 1, - "label": "Purchase Invoice Trends", - "link_count": 0, - "link_to": "Purchase Invoice Trends", - "link_type": "Report", - "onboard": 0, - "type": "Link" - }, - { - "columns": 0, - "dependencies": "", - "hidden": 0, - "is_query_report": 1, - "label": "Subcontracted Raw Materials To Be Transferred", - "link_count": 0, - "link_to": "Subcontracted Raw Materials To Be Transferred", - "link_type": "Report", - "onboard": 0, - "type": "Link" - }, - { - "columns": 0, - "dependencies": "", - "hidden": 0, - "is_query_report": 1, - "label": "Subcontracted Item To Be Received", - "link_count": 0, - "link_to": "Subcontracted Item To Be Received", - "link_type": "Report", - "onboard": 0, - "type": "Link" - }, - { - "columns": 0, - "dependencies": "", - "hidden": 0, - "is_query_report": 1, - "label": "Supplier Quotation Comparison", - "link_count": 0, - "link_to": "Supplier Quotation Comparison", - "link_type": "Report", - "onboard": 1, - "type": "Link" - }, - { - "columns": 0, - "dependencies": "", - "hidden": 0, - "is_query_report": 1, - "label": "Material Requests for which Supplier Quotations are not created", - "link_count": 0, - "link_to": "Material Requests for which Supplier Quotations are not created", - "link_type": "Report", - "onboard": 0, - "type": "Link" - }, - { - "columns": 0, - "dependencies": "", - "hidden": 0, - "is_query_report": 1, - "label": "Supplier Addresses And Contacts", - "link_count": 0, - "link_to": "Address And Contacts", - "link_type": "Report", - "onboard": 0, - "type": "Link" - }, - { - "columns": 0, - "dependencies": "", - "hidden": 0, - "is_query_report": 0, - "label": "Import Supplier Invoice", - "link_count": 0, - "link_to": "Import Supplier Invoice", - "link_type": "DocType", - "onboard": 0, - "only_for": "Italy", - "type": "Link" - } - ], - "modified": "2023-05-31 09:04:05.024837", - "modified_by": "Administrator", - "module": "Buying", - "name": "Buying", - "number_cards": [ - { - "label": "Total Purchases Last Month", - "number_card_name": "Last Month Incoming Bills" - }, - { - "label": "Total Orders This Year", - "number_card_name": "Annual Purchase" - }, - { - "label": "Total Purchases This Month", - "number_card_name": "Current Month Incoming Bills" - }, - { - "label": "Total Purchases This Year", - "number_card_name": "Total Incoming Bills" - } - ], - "owner": "Administrator", - "parent_page": "", - "public": 1, - "quick_lists": [], - "roles": [], - "sequence_id": 8.0, - "shortcuts": [], + "app": "erpnext", + "charts": [ + { + "chart_name": "Top Purchasing Groups", + "label": "Top Purchasing Groups" + }, + { + "chart_name": "Top Purchased Items", + "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}}]", + "creation": "2020-01-28 11:50:26.195467", + "custom_blocks": [], + "docstatus": 0, + "doctype": "Workspace", + "hide_custom": 0, + "icon": "buying", + "idx": 0, + "is_hidden": 0, + "is_standard": 1, + "label": "Buying", + "links": [ + { + "columns": 0, + "dependencies": "Item", + "hidden": 0, + "is_query_report": 0, + "label": "Material Request", + "link_count": 0, + "link_to": "Material Request", + "link_type": "DocType", + "onboard": 1, + "type": "Link" + }, + { + "columns": 0, + "dependencies": "Item, Supplier", + "hidden": 0, + "is_query_report": 0, + "label": "Purchase Order", + "link_count": 0, + "link_to": "Purchase Order", + "link_type": "DocType", + "onboard": 1, + "type": "Link" + }, + { + "columns": 0, + "dependencies": "Item, Supplier", + "hidden": 0, + "is_query_report": 0, + "label": "Purchase Invoice", + "link_count": 0, + "link_to": "Purchase Invoice", + "link_type": "DocType", + "onboard": 1, + "type": "Link" + }, + { + "columns": 0, + "dependencies": "Item, Supplier", + "hidden": 0, + "is_query_report": 0, + "label": "Request for Quotation", + "link_count": 0, + "link_to": "Request for Quotation", + "link_type": "DocType", + "onboard": 1, + "type": "Link" + }, + { + "columns": 0, + "dependencies": "Item, Supplier", + "hidden": 0, + "is_query_report": 0, + "label": "Supplier Quotation", + "link_count": 0, + "link_to": "Supplier Quotation", + "link_type": "DocType", + "onboard": 0, + "type": "Link" + }, + { + "columns": 0, + "dependencies": "", + "hidden": 0, + "is_query_report": 0, + "label": "Item", + "link_count": 0, + "link_to": "Item", + "link_type": "DocType", + "onboard": 1, + "type": "Link" + }, + { + "columns": 0, + "dependencies": "", + "hidden": 0, + "is_query_report": 0, + "label": "Item Price", + "link_count": 0, + "link_to": "Item Price", + "link_type": "DocType", + "onboard": 1, + "type": "Link" + }, + { + "columns": 0, + "dependencies": "", + "hidden": 0, + "is_query_report": 0, + "label": "Price List", + "link_count": 0, + "link_to": "Price List", + "link_type": "DocType", + "onboard": 1, + "type": "Link" + }, + { + "columns": 0, + "dependencies": "", + "hidden": 0, + "is_query_report": 0, + "label": "Product Bundle", + "link_count": 0, + "link_to": "Product Bundle", + "link_type": "DocType", + "onboard": 0, + "type": "Link" + }, + { + "columns": 0, + "dependencies": "", + "hidden": 0, + "is_query_report": 0, + "label": "Item Group", + "link_count": 0, + "link_to": "Item Group", + "link_type": "DocType", + "onboard": 0, + "type": "Link" + }, + { + "columns": 0, + "dependencies": "", + "hidden": 0, + "is_query_report": 0, + "label": "Promotional Scheme", + "link_count": 0, + "link_to": "Promotional Scheme", + "link_type": "DocType", + "onboard": 0, + "type": "Link" + }, + { + "columns": 0, + "dependencies": "", + "hidden": 0, + "is_query_report": 0, + "label": "Pricing Rule", + "link_count": 0, + "link_to": "Pricing Rule", + "link_type": "DocType", + "onboard": 0, + "type": "Link" + }, + { + "columns": 0, + "dependencies": "", + "hidden": 0, + "is_query_report": 1, + "label": "Purchase Analytics", + "link_count": 0, + "link_to": "Purchase Analytics", + "link_type": "Report", + "onboard": 1, + "type": "Link" + }, + { + "columns": 0, + "dependencies": "", + "hidden": 0, + "is_query_report": 1, + "label": "Purchase Order Analysis", + "link_count": 0, + "link_to": "Purchase Order Analysis", + "link_type": "Report", + "onboard": 1, + "type": "Link" + }, + { + "columns": 0, + "dependencies": "", + "hidden": 0, + "is_query_report": 1, + "label": "Supplier-Wise Sales Analytics", + "link_count": 0, + "link_to": "Supplier-Wise Sales Analytics", + "link_type": "Report", + "onboard": 1, + "type": "Link" + }, + { + "columns": 0, + "dependencies": "", + "hidden": 0, + "is_query_report": 1, + "label": "Items to Order and Receive", + "link_count": 0, + "link_to": "Requested Items to Order and Receive", + "link_type": "Report", + "onboard": 1, + "type": "Link" + }, + { + "columns": 0, + "dependencies": "", + "hidden": 0, + "is_query_report": 1, + "label": "Purchase Order Trends", + "link_count": 0, + "link_to": "Purchase Order Trends", + "link_type": "Report", + "onboard": 1, + "type": "Link" + }, + { + "columns": 0, + "dependencies": "", + "hidden": 0, + "is_query_report": 1, + "label": "Procurement Tracker", + "link_count": 0, + "link_to": "Procurement Tracker", + "link_type": "Report", + "onboard": 1, + "type": "Link" + }, + { + "columns": 0, + "dependencies": "", + "hidden": 0, + "is_query_report": 1, + "label": "Items To Be Requested", + "link_count": 0, + "link_to": "Items To Be Requested", + "link_type": "Report", + "onboard": 1, + "type": "Link" + }, + { + "columns": 0, + "dependencies": "", + "hidden": 0, + "is_query_report": 1, + "label": "Item-wise Purchase History", + "link_count": 0, + "link_to": "Item-wise Purchase History", + "link_type": "Report", + "onboard": 1, + "type": "Link" + }, + { + "columns": 0, + "dependencies": "", + "hidden": 0, + "is_query_report": 1, + "label": "Purchase Receipt Trends", + "link_count": 0, + "link_to": "Purchase Receipt Trends", + "link_type": "Report", + "onboard": 0, + "type": "Link" + }, + { + "columns": 0, + "dependencies": "", + "hidden": 0, + "is_query_report": 1, + "label": "Purchase Invoice Trends", + "link_count": 0, + "link_to": "Purchase Invoice Trends", + "link_type": "Report", + "onboard": 0, + "type": "Link" + }, + { + "columns": 0, + "dependencies": "", + "hidden": 0, + "is_query_report": 1, + "label": "Subcontracted Raw Materials To Be Transferred", + "link_count": 0, + "link_to": "Subcontracted Raw Materials To Be Transferred", + "link_type": "Report", + "onboard": 0, + "type": "Link" + }, + { + "columns": 0, + "dependencies": "", + "hidden": 0, + "is_query_report": 1, + "label": "Subcontracted Item To Be Received", + "link_count": 0, + "link_to": "Subcontracted Item To Be Received", + "link_type": "Report", + "onboard": 0, + "type": "Link" + }, + { + "columns": 0, + "dependencies": "", + "hidden": 0, + "is_query_report": 1, + "label": "Supplier Quotation Comparison", + "link_count": 0, + "link_to": "Supplier Quotation Comparison", + "link_type": "Report", + "onboard": 1, + "type": "Link" + }, + { + "columns": 0, + "dependencies": "", + "hidden": 0, + "is_query_report": 1, + "label": "Material Requests for which Supplier Quotations are not created", + "link_count": 0, + "link_to": "Material Requests for which Supplier Quotations are not created", + "link_type": "Report", + "onboard": 0, + "type": "Link" + }, + { + "columns": 0, + "dependencies": "", + "hidden": 0, + "is_query_report": 1, + "label": "Supplier Addresses And Contacts", + "link_count": 0, + "link_to": "Address And Contacts", + "link_type": "Report", + "onboard": 0, + "type": "Link" + }, + { + "columns": 0, + "dependencies": "", + "hidden": 0, + "is_query_report": 0, + "label": "Import Supplier Invoice", + "link_count": 0, + "link_to": "Import Supplier Invoice", + "link_type": "DocType", + "onboard": 0, + "only_for": "Italy", + "type": "Link" + } + ], + "modified": "2025-04-30 14:16:39.371842", + "modified_by": "Administrator", + "module": "Buying", + "name": "Buying", + "number_cards": [ + { + "label": "Total Purchases Last Month", + "number_card_name": "Last Month Incoming Bills" + }, + { + "label": "Total Orders This Year", + "number_card_name": "Annual Purchase" + }, + { + "label": "Total Purchases This Month", + "number_card_name": "Current Month Incoming Bills" + }, + { + "label": "Total Purchases This Year", + "number_card_name": "Total Incoming Bills" + } + ], + "owner": "Administrator", + "parent_page": "", + "public": 1, + "quick_lists": [], + "restrict_to_domain": "Buying", + "roles": [], + "sequence_id": 8.0, + "shortcuts": [], "title": "Buying" } diff --git a/erpnext/buying/workspace/purchasing_data/purchasing_data.json b/erpnext/buying/workspace/purchasing_data/purchasing_data.json index f65e8ad4a7..87b5c1e9ff 100644 --- a/erpnext/buying/workspace/purchasing_data/purchasing_data.json +++ b/erpnext/buying/workspace/purchasing_data/purchasing_data.json @@ -1,4 +1,5 @@ { + "app": "erpnext", "charts": [ { "chart_name": "Top Suppliers based on Purchase Invoices", @@ -298,7 +299,7 @@ "type": "Link" } ], - "modified": "2023-09-19 08:10:51.040791", + "modified": "2025-04-30 14:16:39.288512", "modified_by": "Administrator", "module": "Buying", "name": "Purchasing Data", @@ -320,12 +321,12 @@ "parent_page": "Buying", "public": 1, "quick_lists": [], + "restrict_to_domain": "Buying", "roles": [], "sequence_id": 10.0, "shortcuts": [ { "color": "Gray", - "columns": 3, "doc_view": "List", "label": "Buying Settings", "link_to": "Buying Settings", diff --git a/erpnext/buying/workspace/purchasing_flow/purchasing_flow.json b/erpnext/buying/workspace/purchasing_flow/purchasing_flow.json index e9ceb90e21..5731af414a 100644 --- a/erpnext/buying/workspace/purchasing_flow/purchasing_flow.json +++ b/erpnext/buying/workspace/purchasing_flow/purchasing_flow.json @@ -1,85 +1,83 @@ { - "charts": [], - "content": "[{\"id\":\"IEQm0YWEGL\",\"type\":\"header\",\"data\":{\"text\":\"Purchasing Flow\",\"col\":12}},{\"id\":\"AKFGnQW2CM\",\"type\":\"quick_list\",\"data\":{\"quick_list_name\":\"Pending Material Requests\",\"col\":4}},{\"id\":\"5WF3kbvolp\",\"type\":\"quick_list\",\"data\":{\"quick_list_name\":\"Pending Purchase Orders\",\"col\":4}},{\"id\":\"KBaZv9ncJc\",\"type\":\"quick_list\",\"data\":{\"quick_list_name\":\"Unpaid Purchase Invoices\",\"col\":4}},{\"id\":\"S_M2ESmXyw\",\"type\":\"spacer\",\"data\":{\"col\":12}},{\"id\":\"qxaNIvKFfx\",\"type\":\"header\",\"data\":{\"text\":\"Ordering and Invoicing\",\"col\":12}},{\"id\":\"DqLQpvyrtZ\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Purchase Orders\",\"col\":3}},{\"id\":\"5GV1REu4Rr\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Purchase Invoices\",\"col\":3}},{\"id\":\"x01taZAANZ\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Purchase Receipts\",\"col\":3}},{\"id\":\"y3bESnU__n\",\"type\":\"header\",\"data\":{\"text\":\"Material Purchases\",\"col\":12}},{\"id\":\"TgCFg_0s6Q\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Material Requests\",\"col\":3}},{\"id\":\"VEXKDFl3i2\",\"type\":\"header\",\"data\":{\"text\":\"Requests for Quotations\",\"col\":12}},{\"id\":\"vxGfVyLecb\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Requests for Quotations\",\"col\":3}}]", - "creation": "2023-04-07 11:59:48.707688", - "docstatus": 0, - "doctype": "Workspace", - "for_user": "", - "hide_custom": 0, - "icon": "milestone", - "idx": 0, - "is_hidden": 0, - "is_standard": 1, - "label": "Purchasing Flow", - "links": [], - "modified": "2023-05-31 09:04:05.098561", - "modified_by": "Administrator", - "module": "Buying", - "name": "Purchasing Flow", - "number_cards": [], - "owner": "Administrator", - "parent_page": "Buying", - "public": 1, - "quick_lists": [ - { - "document_type": "Material Request", - "label": "Pending Material Requests", - "quick_list_filter": "{\"status\":[\"in\",[\"Pending\",\"Partially Ordered\",\"Partially Received\"]]}" - }, - { - "document_type": "Purchase Order", - "label": "Pending Purchase Orders", - "quick_list_filter": "{\"status\":[\"in\",[\"To Receive and Bill\",\"To Bill\",\"To Receive\",\"On Hold\",null]]}" - }, - { - "document_type": "Purchase Invoice", - "label": "Unpaid Purchase Invoices", - "quick_list_filter": "{\"status\":[\"in\",[\"Partly Paid\",\"Unpaid\",\"Overdue\",null]]}" - } - ], - "roles": [], - "sequence_id": 9.0, - "shortcuts": [ - { - "color": "Gray", - "columns": 3, - "doc_view": "List", - "label": "Requests for Quotations", - "link_to": "Request for Quotation", - "type": "DocType" - }, - { - "color": "Gray", - "columns": 3, - "doc_view": "List", - "label": "Purchase Orders", - "link_to": "Purchase Order", - "type": "DocType" - }, - { - "color": "Gray", - "columns": 3, - "doc_view": "List", - "label": "Purchase Invoices", - "link_to": "Purchase Invoice", - "type": "DocType" - }, - { - "color": "Gray", - "columns": 3, - "doc_view": "List", - "label": "Purchase Receipts", - "link_to": "Purchase Receipt", - "type": "DocType" - }, - { - "color": "Gray", - "columns": 3, - "doc_view": "List", - "label": "Material Requests", - "link_to": "Material Request", - "type": "DocType" - } - ], + "app": "erpnext", + "charts": [], + "content": "[{\"id\":\"IEQm0YWEGL\",\"type\":\"header\",\"data\":{\"text\":\"Purchasing Flow\",\"col\":12}},{\"id\":\"AKFGnQW2CM\",\"type\":\"quick_list\",\"data\":{\"quick_list_name\":\"Pending Material Requests\",\"col\":4}},{\"id\":\"5WF3kbvolp\",\"type\":\"quick_list\",\"data\":{\"quick_list_name\":\"Pending Purchase Orders\",\"col\":4}},{\"id\":\"KBaZv9ncJc\",\"type\":\"quick_list\",\"data\":{\"quick_list_name\":\"Unpaid Purchase Invoices\",\"col\":4}},{\"id\":\"S_M2ESmXyw\",\"type\":\"spacer\",\"data\":{\"col\":12}},{\"id\":\"qxaNIvKFfx\",\"type\":\"header\",\"data\":{\"text\":\"Ordering and Invoicing\",\"col\":12}},{\"id\":\"DqLQpvyrtZ\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Purchase Orders\",\"col\":3}},{\"id\":\"5GV1REu4Rr\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Purchase Invoices\",\"col\":3}},{\"id\":\"x01taZAANZ\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Purchase Receipts\",\"col\":3}},{\"id\":\"y3bESnU__n\",\"type\":\"header\",\"data\":{\"text\":\"Material Purchases\",\"col\":12}},{\"id\":\"TgCFg_0s6Q\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Material Requests\",\"col\":3}},{\"id\":\"VEXKDFl3i2\",\"type\":\"header\",\"data\":{\"text\":\"Requests for Quotations\",\"col\":12}},{\"id\":\"vxGfVyLecb\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Requests for Quotations\",\"col\":3}}]", + "creation": "2023-04-07 11:59:48.707688", + "custom_blocks": [], + "docstatus": 0, + "doctype": "Workspace", + "for_user": "", + "hide_custom": 0, + "icon": "milestone", + "idx": 0, + "is_hidden": 0, + "is_standard": 1, + "label": "Purchasing Flow", + "links": [], + "modified": "2025-04-30 14:16:39.339426", + "modified_by": "Administrator", + "module": "Buying", + "name": "Purchasing Flow", + "number_cards": [], + "owner": "Administrator", + "parent_page": "Buying", + "public": 1, + "quick_lists": [ + { + "document_type": "Material Request", + "label": "Pending Material Requests", + "quick_list_filter": "{\"status\":[\"in\",[\"Pending\",\"Partially Ordered\",\"Partially Received\"]]}" + }, + { + "document_type": "Purchase Order", + "label": "Pending Purchase Orders", + "quick_list_filter": "{\"status\":[\"in\",[\"To Receive and Bill\",\"To Bill\",\"To Receive\",\"On Hold\",null]]}" + }, + { + "document_type": "Purchase Invoice", + "label": "Unpaid Purchase Invoices", + "quick_list_filter": "{\"status\":[\"in\",[\"Partly Paid\",\"Unpaid\",\"Overdue\",null]]}" + } + ], + "restrict_to_domain": "Buying", + "roles": [], + "sequence_id": 9.0, + "shortcuts": [ + { + "color": "Gray", + "doc_view": "List", + "label": "Requests for Quotations", + "link_to": "Request for Quotation", + "type": "DocType" + }, + { + "color": "Gray", + "doc_view": "List", + "label": "Purchase Orders", + "link_to": "Purchase Order", + "type": "DocType" + }, + { + "color": "Gray", + "doc_view": "List", + "label": "Purchase Invoices", + "link_to": "Purchase Invoice", + "type": "DocType" + }, + { + "color": "Gray", + "doc_view": "List", + "label": "Purchase Receipts", + "link_to": "Purchase Receipt", + "type": "DocType" + }, + { + "color": "Gray", + "doc_view": "List", + "label": "Material Requests", + "link_to": "Material Request", + "type": "DocType" + } + ], "title": "Purchasing Flow" } diff --git a/erpnext/buying/workspace/purchasing_reports/purchasing_reports.json b/erpnext/buying/workspace/purchasing_reports/purchasing_reports.json index e10df52f90..4d66da3aa0 100644 --- a/erpnext/buying/workspace/purchasing_reports/purchasing_reports.json +++ b/erpnext/buying/workspace/purchasing_reports/purchasing_reports.json @@ -1,343 +1,346 @@ { - "charts": [ - { - "chart_name": "Last Purchase Rate", - "label": "Last Purchase Rate" - } - ], - "color": "", - "content": "[{\"id\":\"ZruNT4ahXZ\",\"type\":\"chart\",\"data\":{\"chart_name\":\"Last Purchase Rate\",\"col\":12}},{\"id\":\"MB1BOGCXti\",\"type\":\"spacer\",\"data\":{\"col\":12}},{\"id\":\"TgZ449iezO\",\"type\":\"header\",\"data\":{\"text\":\"Purchasing Reports\",\"col\":12}},{\"id\":\"z12zSWVxgD\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Purchase Analytics\",\"col\":3}},{\"id\":\"ua-FHLuVMl\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Purchase Order Analysis\",\"col\":3}},{\"id\":\"qUcaW8UIbd\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Purchasing Dashboard\",\"col\":3}},{\"id\":\"eoySotfrQJ\",\"type\":\"spacer\",\"data\":{\"col\":12}},{\"id\":\"AB8xSkewQ7\",\"type\":\"card\",\"data\":{\"card_name\":\"Transactions Analytics\",\"col\":4}},{\"id\":\"QrmkvW4xM4\",\"type\":\"card\",\"data\":{\"card_name\":\"Trends\",\"col\":4}},{\"id\":\"BDg50NS4RD\",\"type\":\"card\",\"data\":{\"card_name\":\"Supplier Quotation\",\"col\":4}},{\"id\":\"suF-XFO3SB\",\"type\":\"spacer\",\"data\":{\"col\":12}},{\"id\":\"pBtBgsj601\",\"type\":\"card\",\"data\":{\"card_name\":\"Supplier Analytics\",\"col\":4}},{\"id\":\"-BI5tmYbEC\",\"type\":\"card\",\"data\":{\"card_name\":\"Items in Transactions\",\"col\":4}},{\"id\":\"l5MvjYdMgg\",\"type\":\"card\",\"data\":{\"card_name\":\"Items Analytics\",\"col\":4}},{\"id\":\"MnRvh2NenS\",\"type\":\"spacer\",\"data\":{\"col\":12}},{\"id\":\"DuZNLLxCEv\",\"type\":\"card\",\"data\":{\"card_name\":\"Subcontracting\",\"col\":4}}]", - "creation": "2023-04-07 14:34:52.790754", - "docstatus": 0, - "doctype": "Workspace", - "for_user": "", - "hide_custom": 0, - "icon": "table_2", - "idx": 0, - "is_hidden": 0, - "is_standard": 1, - "label": "Purchasing Reports", - "links": [ - { - "columns": 0, - "hidden": 0, - "is_query_report": 0, - "label": "Trends", - "link_count": 3, - "onboard": 0, - "type": "Card Break" - }, - { - "columns": 0, - "hidden": 0, - "is_query_report": 1, - "label": "Purchase Order Trends", - "link_count": 0, - "link_to": "Purchase Order Trends", - "link_type": "Report", - "onboard": 0, - "type": "Link" - }, - { - "columns": 0, - "hidden": 0, - "is_query_report": 1, - "label": "Purchase Receipt Trends", - "link_count": 0, - "link_to": "Purchase Receipt Trends", - "link_type": "Report", - "onboard": 0, - "type": "Link" - }, - { - "columns": 0, - "hidden": 0, - "is_query_report": 1, - "label": "Purchase Invoice Trends", - "link_count": 0, - "link_to": "Purchase Invoice Trends", - "link_type": "Report", - "onboard": 0, - "type": "Link" - }, - { - "columns": 0, - "hidden": 0, - "is_query_report": 0, - "label": "Subcontracting", - "link_count": 3, - "onboard": 0, - "type": "Card Break" - }, - { - "columns": 0, - "hidden": 0, - "is_query_report": 1, - "label": "Subcontract Order Summary", - "link_count": 0, - "link_to": "Subcontract Order Summary", - "link_type": "Report", - "onboard": 0, - "type": "Link" - }, - { - "columns": 0, - "hidden": 0, - "is_query_report": 1, - "label": "Subcontracted Item To Be Received", - "link_count": 0, - "link_to": "Subcontracted Item To Be Received", - "link_type": "Report", - "onboard": 0, - "type": "Link" - }, - { - "columns": 0, - "hidden": 0, - "is_query_report": 1, - "label": "Subcontracted Raw Materials To Be Transferred", - "link_count": 0, - "link_to": "Subcontracted Raw Materials To Be Transferred", - "link_type": "Report", - "onboard": 0, - "type": "Link" - }, - { - "columns": 0, - "hidden": 0, - "is_query_report": 0, - "label": "Supplier Analytics", - "link_count": 2, - "onboard": 0, - "type": "Card Break" - }, - { - "columns": 0, - "hidden": 0, - "is_query_report": 0, - "label": "Supplier-Wise Sales Analytics", - "link_count": 0, - "link_to": "Supplier-Wise Sales Analytics", - "link_type": "Report", - "onboard": 0, - "type": "Link" - }, - { - "columns": 0, - "hidden": 0, - "is_query_report": 1, - "label": "Addresses And Contacts", - "link_count": 0, - "link_to": "Address And Contacts", - "link_type": "Report", - "onboard": 0, - "type": "Link" - }, - { - "columns": 0, - "hidden": 0, - "is_query_report": 0, - "label": "Supplier Quotation", - "link_count": 2, - "onboard": 0, - "type": "Card Break" - }, - { - "columns": 0, - "hidden": 0, - "is_query_report": 1, - "label": "Supplier Quotation Comparison", - "link_count": 0, - "link_to": "Supplier Quotation Comparison", - "link_type": "Report", - "onboard": 0, - "type": "Link" - }, - { - "columns": 0, - "hidden": 0, - "is_query_report": 1, - "label": "Material Requests for which Supplier Quotations are not created", - "link_count": 0, - "link_to": "Material Requests for which Supplier Quotations are not created", - "link_type": "Report", - "onboard": 0, - "type": "Link" - }, - { - "columns": 0, - "hidden": 0, - "is_query_report": 0, - "label": "Items Analytics", - "link_count": 4, - "onboard": 0, - "type": "Card Break" - }, - { - "columns": 0, - "hidden": 0, - "is_query_report": 1, - "label": "Item-wise Purchase Register", - "link_count": 0, - "link_to": "Item-wise Purchase Register", - "link_type": "Report", - "onboard": 0, - "type": "Link" - }, - { - "columns": 0, - "hidden": 0, - "is_query_report": 1, - "label": "Item-wise Purchase History", - "link_count": 0, - "link_to": "Item-wise Purchase History", - "link_type": "Report", - "onboard": 0, - "type": "Link" - }, - { - "columns": 0, - "hidden": 0, - "is_query_report": 1, - "label": "Item Prices", - "link_count": 0, - "link_to": "Item Prices", - "link_type": "Report", - "onboard": 0, - "type": "Link" - }, - { - "columns": 0, - "hidden": 0, - "is_query_report": 1, - "label": "Item Price Stock", - "link_count": 0, - "link_to": "Item Price Stock", - "link_type": "Report", - "onboard": 0, - "type": "Link" - }, - { - "columns": 0, - "hidden": 0, - "is_query_report": 0, - "label": "Transactions Analytics", - "link_count": 3, - "onboard": 0, - "type": "Card Break" - }, - { - "columns": 0, - "hidden": 0, - "is_query_report": 1, - "label": "Purchase Analytics", - "link_count": 0, - "link_to": "Purchase Analytics", - "link_type": "Report", - "onboard": 0, - "type": "Link" - }, - { - "columns": 0, - "hidden": 0, - "is_query_report": 1, - "label": "Purchase Order Analysis", - "link_count": 0, - "link_to": "Purchase Order Analysis", - "link_type": "Report", - "onboard": 0, - "type": "Link" - }, - { - "columns": 0, - "hidden": 0, - "is_query_report": 1, - "label": "Procurement Tracker", - "link_count": 0, - "link_to": "Procurement Tracker", - "link_type": "Report", - "onboard": 0, - "type": "Link" - }, - { - "columns": 0, - "hidden": 0, - "is_query_report": 0, - "label": "Items in Transactions", - "link_count": 3, - "onboard": 0, - "type": "Card Break" - }, - { - "columns": 0, - "hidden": 0, - "is_query_report": 1, - "label": "Items To Be Requested", - "link_count": 0, - "link_to": "Items To Be Requested", - "link_type": "Report", - "onboard": 0, - "type": "Link" - }, - { - "columns": 0, - "hidden": 0, - "is_query_report": 1, - "label": "Requested Items to Order and Receive", - "link_count": 0, - "link_to": "Requested Items to Order and Receive", - "link_type": "Report", - "onboard": 0, - "type": "Link" - }, - { - "columns": 0, - "hidden": 0, - "is_query_report": 1, - "label": "Received Items To Be Billed", - "link_count": 0, - "link_to": "Received Items To Be Billed", - "link_type": "Report", - "onboard": 0, - "type": "Link" - } - ], - "modified": "2023-05-31 09:04:05.228188", - "modified_by": "Administrator", - "module": "Buying", - "name": "Purchasing Reports", - "number_cards": [], - "owner": "Administrator", - "parent_page": "Buying", - "public": 1, - "quick_lists": [], - "roles": [], - "sequence_id": 11.0, - "shortcuts": [ - { - "color": "Gray", - "columns": 3, - "doc_view": "List", - "label": "Purchase Analytics", - "link_to": "Purchase Analytics", - "type": "Report" - }, - { - "color": "Gray", - "columns": 3, - "doc_view": "List", - "label": "Purchasing Dashboard", - "link_to": "Buying", - "type": "Dashboard" - }, - { - "color": "Gray", - "columns": 3, - "doc_view": "List", - "label": "Purchase Order Analysis", - "link_to": "Purchase Order Analysis", - "type": "Report" - } - ], + "app": "erpnext", + "charts": [ + { + "chart_name": "Last Purchase Rate", + "label": "Last Purchase Rate" + } + ], + "color": "", + "content": "[{\"id\":\"ZruNT4ahXZ\",\"type\":\"chart\",\"data\":{\"chart_name\":\"Last Purchase Rate\",\"col\":12}},{\"id\":\"MB1BOGCXti\",\"type\":\"spacer\",\"data\":{\"col\":12}},{\"id\":\"TgZ449iezO\",\"type\":\"header\",\"data\":{\"text\":\"Purchasing Reports\",\"col\":12}},{\"id\":\"z12zSWVxgD\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Purchase Analytics\",\"col\":3}},{\"id\":\"ua-FHLuVMl\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Purchase Order Analysis\",\"col\":3}},{\"id\":\"qUcaW8UIbd\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Purchasing Dashboard\",\"col\":3}},{\"id\":\"eoySotfrQJ\",\"type\":\"spacer\",\"data\":{\"col\":12}},{\"id\":\"AB8xSkewQ7\",\"type\":\"card\",\"data\":{\"card_name\":\"Transactions Analytics\",\"col\":4}},{\"id\":\"QrmkvW4xM4\",\"type\":\"card\",\"data\":{\"card_name\":\"Trends\",\"col\":4}},{\"id\":\"BDg50NS4RD\",\"type\":\"card\",\"data\":{\"card_name\":\"Supplier Quotation\",\"col\":4}},{\"id\":\"suF-XFO3SB\",\"type\":\"spacer\",\"data\":{\"col\":12}},{\"id\":\"pBtBgsj601\",\"type\":\"card\",\"data\":{\"card_name\":\"Supplier Analytics\",\"col\":4}},{\"id\":\"-BI5tmYbEC\",\"type\":\"card\",\"data\":{\"card_name\":\"Items in Transactions\",\"col\":4}},{\"id\":\"l5MvjYdMgg\",\"type\":\"card\",\"data\":{\"card_name\":\"Items Analytics\",\"col\":4}},{\"id\":\"MnRvh2NenS\",\"type\":\"spacer\",\"data\":{\"col\":12}},{\"id\":\"DuZNLLxCEv\",\"type\":\"card\",\"data\":{\"card_name\":\"Subcontracting\",\"col\":4}}]", + "creation": "2023-04-07 14:34:52.790754", + "custom_blocks": [], + "docstatus": 0, + "doctype": "Workspace", + "for_user": "", + "hide_custom": 0, + "icon": "table_2", + "idx": 0, + "is_hidden": 0, + "is_standard": 1, + "label": "Purchasing Reports", + "links": [ + { + "columns": 0, + "hidden": 0, + "is_query_report": 0, + "label": "Trends", + "link_count": 3, + "onboard": 0, + "type": "Card Break" + }, + { + "columns": 0, + "hidden": 0, + "is_query_report": 1, + "label": "Purchase Order Trends", + "link_count": 0, + "link_to": "Purchase Order Trends", + "link_type": "Report", + "onboard": 0, + "type": "Link" + }, + { + "columns": 0, + "hidden": 0, + "is_query_report": 1, + "label": "Purchase Receipt Trends", + "link_count": 0, + "link_to": "Purchase Receipt Trends", + "link_type": "Report", + "onboard": 0, + "type": "Link" + }, + { + "columns": 0, + "hidden": 0, + "is_query_report": 1, + "label": "Purchase Invoice Trends", + "link_count": 0, + "link_to": "Purchase Invoice Trends", + "link_type": "Report", + "onboard": 0, + "type": "Link" + }, + { + "columns": 0, + "hidden": 0, + "is_query_report": 0, + "label": "Subcontracting", + "link_count": 3, + "onboard": 0, + "type": "Card Break" + }, + { + "columns": 0, + "hidden": 0, + "is_query_report": 1, + "label": "Subcontract Order Summary", + "link_count": 0, + "link_to": "Subcontract Order Summary", + "link_type": "Report", + "onboard": 0, + "type": "Link" + }, + { + "columns": 0, + "hidden": 0, + "is_query_report": 1, + "label": "Subcontracted Item To Be Received", + "link_count": 0, + "link_to": "Subcontracted Item To Be Received", + "link_type": "Report", + "onboard": 0, + "type": "Link" + }, + { + "columns": 0, + "hidden": 0, + "is_query_report": 1, + "label": "Subcontracted Raw Materials To Be Transferred", + "link_count": 0, + "link_to": "Subcontracted Raw Materials To Be Transferred", + "link_type": "Report", + "onboard": 0, + "type": "Link" + }, + { + "columns": 0, + "hidden": 0, + "is_query_report": 0, + "label": "Supplier Analytics", + "link_count": 2, + "onboard": 0, + "type": "Card Break" + }, + { + "columns": 0, + "hidden": 0, + "is_query_report": 0, + "label": "Supplier-Wise Sales Analytics", + "link_count": 0, + "link_to": "Supplier-Wise Sales Analytics", + "link_type": "Report", + "onboard": 0, + "report_ref_doctype": "Stock Ledger Entry", + "type": "Link" + }, + { + "columns": 0, + "hidden": 0, + "is_query_report": 1, + "label": "Addresses And Contacts", + "link_count": 0, + "link_to": "Address And Contacts", + "link_type": "Report", + "onboard": 0, + "type": "Link" + }, + { + "columns": 0, + "hidden": 0, + "is_query_report": 0, + "label": "Supplier Quotation", + "link_count": 2, + "onboard": 0, + "type": "Card Break" + }, + { + "columns": 0, + "hidden": 0, + "is_query_report": 1, + "label": "Supplier Quotation Comparison", + "link_count": 0, + "link_to": "Supplier Quotation Comparison", + "link_type": "Report", + "onboard": 0, + "type": "Link" + }, + { + "columns": 0, + "hidden": 0, + "is_query_report": 1, + "label": "Material Requests for which Supplier Quotations are not created", + "link_count": 0, + "link_to": "Material Requests for which Supplier Quotations are not created", + "link_type": "Report", + "onboard": 0, + "type": "Link" + }, + { + "columns": 0, + "hidden": 0, + "is_query_report": 0, + "label": "Items Analytics", + "link_count": 4, + "onboard": 0, + "type": "Card Break" + }, + { + "columns": 0, + "hidden": 0, + "is_query_report": 1, + "label": "Item-wise Purchase Register", + "link_count": 0, + "link_to": "Item-wise Purchase Register", + "link_type": "Report", + "onboard": 0, + "type": "Link" + }, + { + "columns": 0, + "hidden": 0, + "is_query_report": 1, + "label": "Item-wise Purchase History", + "link_count": 0, + "link_to": "Item-wise Purchase History", + "link_type": "Report", + "onboard": 0, + "type": "Link" + }, + { + "columns": 0, + "hidden": 0, + "is_query_report": 1, + "label": "Item Prices", + "link_count": 0, + "link_to": "Item Prices", + "link_type": "Report", + "onboard": 0, + "type": "Link" + }, + { + "columns": 0, + "hidden": 0, + "is_query_report": 1, + "label": "Item Price Stock", + "link_count": 0, + "link_to": "Item Price Stock", + "link_type": "Report", + "onboard": 0, + "type": "Link" + }, + { + "columns": 0, + "hidden": 0, + "is_query_report": 0, + "label": "Transactions Analytics", + "link_count": 3, + "onboard": 0, + "type": "Card Break" + }, + { + "columns": 0, + "hidden": 0, + "is_query_report": 1, + "label": "Purchase Analytics", + "link_count": 0, + "link_to": "Purchase Analytics", + "link_type": "Report", + "onboard": 0, + "type": "Link" + }, + { + "columns": 0, + "hidden": 0, + "is_query_report": 1, + "label": "Purchase Order Analysis", + "link_count": 0, + "link_to": "Purchase Order Analysis", + "link_type": "Report", + "onboard": 0, + "type": "Link" + }, + { + "columns": 0, + "hidden": 0, + "is_query_report": 1, + "label": "Procurement Tracker", + "link_count": 0, + "link_to": "Procurement Tracker", + "link_type": "Report", + "onboard": 0, + "type": "Link" + }, + { + "columns": 0, + "hidden": 0, + "is_query_report": 0, + "label": "Items in Transactions", + "link_count": 3, + "onboard": 0, + "type": "Card Break" + }, + { + "columns": 0, + "hidden": 0, + "is_query_report": 1, + "label": "Items To Be Requested", + "link_count": 0, + "link_to": "Items To Be Requested", + "link_type": "Report", + "onboard": 0, + "type": "Link" + }, + { + "columns": 0, + "hidden": 0, + "is_query_report": 1, + "label": "Requested Items to Order and Receive", + "link_count": 0, + "link_to": "Requested Items to Order and Receive", + "link_type": "Report", + "onboard": 0, + "type": "Link" + }, + { + "columns": 0, + "hidden": 0, + "is_query_report": 1, + "label": "Received Items To Be Billed", + "link_count": 0, + "link_to": "Received Items To Be Billed", + "link_type": "Report", + "onboard": 0, + "type": "Link" + } + ], + "modified": "2025-04-30 14:16:39.210305", + "modified_by": "Administrator", + "module": "Buying", + "name": "Purchasing Reports", + "number_cards": [], + "owner": "Administrator", + "parent_page": "Buying", + "public": 1, + "quick_lists": [], + "restrict_to_domain": "Buying", + "roles": [], + "sequence_id": 11.0, + "shortcuts": [ + { + "color": "Gray", + "doc_view": "List", + "label": "Purchase Analytics", + "link_to": "Purchase Analytics", + "report_ref_doctype": "Purchase Order", + "type": "Report" + }, + { + "color": "Gray", + "doc_view": "List", + "label": "Purchasing Dashboard", + "link_to": "Buying", + "type": "Dashboard" + }, + { + "color": "Gray", + "doc_view": "List", + "label": "Purchase Order Analysis", + "link_to": "Purchase Order Analysis", + "report_ref_doctype": "Purchase Order", + "type": "Report" + } + ], "title": "Purchasing Reports" } -- GitLab From b4da92584cd374f3dd0fbaf4f5b844a7aa7a9931 Mon Sep 17 00:00:00 2001 From: Antoine Maas Date: Mon, 26 May 2025 12:15:59 +0200 Subject: [PATCH 3/9] feat: restricted fieldsadded to domain --- erpnext/domains/buying.yaml | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/erpnext/domains/buying.yaml b/erpnext/domains/buying.yaml index 3436c47f21..10a6e1e9d7 100644 --- a/erpnext/domains/buying.yaml +++ b/erpnext/domains/buying.yaml @@ -1,3 +1,30 @@ +restricted_fields: + Quotation Item: + - costs_section + - section_break_nqjy + + Sales Order: + - margin_section + + Sales Order Item: + - cost_calculation_section + - section_break_kssi + - drop_ship_section + + Sales Invoice Item: + - internal_transfer_section + - expense_account + - drop_ship + + Item: + - purchasing_tab + + Item Default: + - purchase_defaults + + Item Group Default: + - purchase_defaults + restricted_roles: - Purchase Master Manager - Purchase Manager -- GitLab From 6c28c683176020fb709afff81a2d596201e3685b Mon Sep 17 00:00:00 2001 From: Antoine Maas Date: Mon, 26 May 2025 12:22:00 +0200 Subject: [PATCH 4/9] feat: doctypes restricted to domain buying --- .../buying/doctype/buying_settings/buying_settings.json | 1 + .../buying/doctype/purchase_order/purchase_order.json | 1 + .../doctype/purchase_order_item/purchase_order_item.json | 3 ++- .../purchase_order_item_supplied.json | 4 +++- .../purchase_receipt_item_supplied.json | 4 +++- .../request_for_quotation/request_for_quotation.json | 3 ++- .../request_for_quotation_item.json | 4 ++-- .../request_for_quotation_supplier.json | 4 +++- erpnext/buying/doctype/supplier/supplier.json | 9 +++++---- .../doctype/supplier_quotation/supplier_quotation.json | 3 ++- .../supplier_quotation_item/supplier_quotation_item.json | 4 +++- .../supplier_scorecard_period.json | 4 +++- .../supplier_scorecard_scoring_criteria.json | 4 +++- .../supplier_scorecard_scoring_standing.json | 4 +++- .../supplier_scorecard_scoring_variable.json | 4 +++- .../supplier_scorecard_standing.json | 4 +++- .../supplier_scorecard_variable.json | 4 +++- 17 files changed, 45 insertions(+), 19 deletions(-) diff --git a/erpnext/buying/doctype/buying_settings/buying_settings.json b/erpnext/buying/doctype/buying_settings/buying_settings.json index d89d8d48bf..0f3dfaea16 100644 --- a/erpnext/buying/doctype/buying_settings/buying_settings.json +++ b/erpnext/buying/doctype/buying_settings/buying_settings.json @@ -309,6 +309,7 @@ "role": "Purchase User" } ], + "restrict_to_domain": "Buying", "row_format": "Dynamic", "sort_field": "creation", "sort_order": "DESC", diff --git a/erpnext/buying/doctype/purchase_order/purchase_order.json b/erpnext/buying/doctype/purchase_order/purchase_order.json index 162fbad5bf..0cc4fa4b66 100644 --- a/erpnext/buying/doctype/purchase_order/purchase_order.json +++ b/erpnext/buying/doctype/purchase_order/purchase_order.json @@ -1361,6 +1361,7 @@ "write": 1 } ], + "restrict_to_domain": "Buying", "row_format": "Dynamic", "search_fields": "status, transaction_date, supplier, grand_total", "show_name_in_global_search": 1, diff --git a/erpnext/buying/doctype/purchase_order_item/purchase_order_item.json b/erpnext/buying/doctype/purchase_order_item/purchase_order_item.json index a3aecce9d6..59fa3a411b 100644 --- a/erpnext/buying/doctype/purchase_order_item/purchase_order_item.json +++ b/erpnext/buying/doctype/purchase_order_item/purchase_order_item.json @@ -947,7 +947,7 @@ "index_web_pages_for_search": 1, "istable": 1, "links": [], - "modified": "2025-03-13 17:27:43.468602", + "modified": "2025-04-30 14:38:34.491901", "modified_by": "Administrator", "module": "Buying", "name": "Purchase Order Item", @@ -955,6 +955,7 @@ "owner": "Administrator", "permissions": [], "quick_entry": 1, + "restrict_to_domain": "Buying", "row_format": "Dynamic", "search_fields": "item_name", "sort_field": "creation", diff --git a/erpnext/buying/doctype/purchase_order_item_supplied/purchase_order_item_supplied.json b/erpnext/buying/doctype/purchase_order_item_supplied/purchase_order_item_supplied.json index 580dc751fd..aa5fa2934b 100644 --- a/erpnext/buying/doctype/purchase_order_item_supplied/purchase_order_item_supplied.json +++ b/erpnext/buying/doctype/purchase_order_item_supplied/purchase_order_item_supplied.json @@ -183,12 +183,14 @@ "idx": 1, "istable": 1, "links": [], - "modified": "2024-03-27 13:10:25.280016", + "modified": "2025-04-30 14:41:18.990616", "modified_by": "Administrator", "module": "Buying", "name": "Purchase Order Item Supplied", "owner": "Administrator", "permissions": [], + "restrict_to_domain": "Buying", + "row_format": "Dynamic", "sort_field": "creation", "sort_order": "DESC", "states": [] diff --git a/erpnext/buying/doctype/purchase_receipt_item_supplied/purchase_receipt_item_supplied.json b/erpnext/buying/doctype/purchase_receipt_item_supplied/purchase_receipt_item_supplied.json index d2e7979d8b..b067a2e09a 100644 --- a/erpnext/buying/doctype/purchase_receipt_item_supplied/purchase_receipt_item_supplied.json +++ b/erpnext/buying/doctype/purchase_receipt_item_supplied/purchase_receipt_item_supplied.json @@ -207,12 +207,14 @@ "idx": 1, "istable": 1, "links": [], - "modified": "2024-03-27 13:10:26.235916", + "modified": "2025-04-30 14:41:25.826688", "modified_by": "Administrator", "module": "Buying", "name": "Purchase Receipt Item Supplied", "owner": "Administrator", "permissions": [], + "restrict_to_domain": "Buying", + "row_format": "Dynamic", "sort_field": "creation", "sort_order": "DESC", "states": [], diff --git a/erpnext/buying/doctype/request_for_quotation/request_for_quotation.json b/erpnext/buying/doctype/request_for_quotation/request_for_quotation.json index b7e6a2a2f3..7ab8222509 100644 --- a/erpnext/buying/doctype/request_for_quotation/request_for_quotation.json +++ b/erpnext/buying/doctype/request_for_quotation/request_for_quotation.json @@ -322,7 +322,7 @@ "index_web_pages_for_search": 1, "is_submittable": 1, "links": [], - "modified": "2025-03-03 16:48:39.856779", + "modified": "2025-04-30 14:39:36.203960", "modified_by": "Administrator", "module": "Buying", "name": "Request for Quotation", @@ -387,6 +387,7 @@ "role": "All" } ], + "restrict_to_domain": "Buying", "row_format": "Dynamic", "search_fields": "status, transaction_date", "show_name_in_global_search": 1, diff --git a/erpnext/buying/doctype/request_for_quotation_item/request_for_quotation_item.json b/erpnext/buying/doctype/request_for_quotation_item/request_for_quotation_item.json index f82528e06c..76d4efd853 100644 --- a/erpnext/buying/doctype/request_for_quotation_item/request_for_quotation_item.json +++ b/erpnext/buying/doctype/request_for_quotation_item/request_for_quotation_item.json @@ -63,7 +63,6 @@ "fieldtype": "Column Break" }, { - "fetch_from": "item_code.item_name", "fieldname": "item_name", "fieldtype": "Data", "in_global_search": 1, @@ -262,13 +261,14 @@ "index_web_pages_for_search": 1, "istable": 1, "links": [], - "modified": "2025-04-28 23:30:22.927989", + "modified": "2025-04-30 14:39:17.111810", "modified_by": "Administrator", "module": "Buying", "name": "Request for Quotation Item", "naming_rule": "Random", "owner": "Administrator", "permissions": [], + "restrict_to_domain": "Buying", "row_format": "Dynamic", "sort_field": "creation", "sort_order": "DESC", diff --git a/erpnext/buying/doctype/request_for_quotation_supplier/request_for_quotation_supplier.json b/erpnext/buying/doctype/request_for_quotation_supplier/request_for_quotation_supplier.json index 560870c045..bed44f8905 100644 --- a/erpnext/buying/doctype/request_for_quotation_supplier/request_for_quotation_supplier.json +++ b/erpnext/buying/doctype/request_for_quotation_supplier/request_for_quotation_supplier.json @@ -87,12 +87,14 @@ "index_web_pages_for_search": 1, "istable": 1, "links": [], - "modified": "2024-03-27 13:10:33.435013", + "modified": "2025-04-30 14:39:16.924567", "modified_by": "Administrator", "module": "Buying", "name": "Request for Quotation Supplier", "owner": "Administrator", "permissions": [], + "restrict_to_domain": "Buying", + "row_format": "Dynamic", "sort_field": "creation", "sort_order": "DESC", "states": [], diff --git a/erpnext/buying/doctype/supplier/supplier.json b/erpnext/buying/doctype/supplier/supplier.json index e23f01e157..963c085177 100644 --- a/erpnext/buying/doctype/supplier/supplier.json +++ b/erpnext/buying/doctype/supplier/supplier.json @@ -11,7 +11,7 @@ "engine": "InnoDB", "field_order": [ "dashboard_tab", - "détails_tab", + "d\u00e9tails_tab", "naming_series", "supplier_name", "country", @@ -492,9 +492,9 @@ "options": "Mode of Payment" }, { - "fieldname": "détails_tab", + "fieldname": "d\u00e9tails_tab", "fieldtype": "Tab Break", - "label": "Détails" + "label": "D\u00e9tails" }, { "fieldname": "activities_tab", @@ -545,7 +545,7 @@ "link_fieldname": "party" } ], - "modified": "2025-04-27 12:07:10.859758", + "modified": "2025-04-30 14:41:32.385070", "modified_by": "Administrator", "module": "Buying", "name": "Supplier", @@ -604,6 +604,7 @@ } ], "quick_entry": 1, + "restrict_to_domain": "Buying", "row_format": "Dynamic", "search_fields": "supplier_group", "show_name_in_global_search": 1, diff --git a/erpnext/buying/doctype/supplier_quotation/supplier_quotation.json b/erpnext/buying/doctype/supplier_quotation/supplier_quotation.json index 400faa6457..a823532d7a 100644 --- a/erpnext/buying/doctype/supplier_quotation/supplier_quotation.json +++ b/erpnext/buying/doctype/supplier_quotation/supplier_quotation.json @@ -938,7 +938,7 @@ "index_web_pages_for_search": 1, "is_submittable": 1, "links": [], - "modified": "2025-03-03 17:39:38.459977", + "modified": "2025-04-30 14:41:01.067091", "modified_by": "Administrator", "module": "Buying", "name": "Supplier Quotation", @@ -999,6 +999,7 @@ "write": 1 } ], + "restrict_to_domain": "Buying", "row_format": "Dynamic", "search_fields": "status, transaction_date, supplier,grand_total", "show_name_in_global_search": 1, diff --git a/erpnext/buying/doctype/supplier_quotation_item/supplier_quotation_item.json b/erpnext/buying/doctype/supplier_quotation_item/supplier_quotation_item.json index d111735922..f20a5dda13 100644 --- a/erpnext/buying/doctype/supplier_quotation_item/supplier_quotation_item.json +++ b/erpnext/buying/doctype/supplier_quotation_item/supplier_quotation_item.json @@ -581,13 +581,15 @@ "index_web_pages_for_search": 1, "istable": 1, "links": [], - "modified": "2024-06-02 06:22:17.864822", + "modified": "2025-04-30 14:40:47.718887", "modified_by": "Administrator", "module": "Buying", "name": "Supplier Quotation Item", "naming_rule": "Random", "owner": "Administrator", "permissions": [], + "restrict_to_domain": "Buying", + "row_format": "Dynamic", "sort_field": "creation", "sort_order": "DESC", "states": [], diff --git a/erpnext/buying/doctype/supplier_scorecard_period/supplier_scorecard_period.json b/erpnext/buying/doctype/supplier_scorecard_period/supplier_scorecard_period.json index 48e2d5ac7f..12e91e4c7a 100644 --- a/erpnext/buying/doctype/supplier_scorecard_period/supplier_scorecard_period.json +++ b/erpnext/buying/doctype/supplier_scorecard_period/supplier_scorecard_period.json @@ -104,7 +104,7 @@ "in_create": 1, "is_submittable": 1, "links": [], - "modified": "2024-03-27 13:10:50.051033", + "modified": "2025-04-30 14:38:34.846158", "modified_by": "Administrator", "module": "Buying", "name": "Supplier Scorecard Period", @@ -125,6 +125,8 @@ "write": 1 } ], + "restrict_to_domain": "Buying", + "row_format": "Dynamic", "sort_field": "creation", "sort_order": "DESC", "states": [] diff --git a/erpnext/buying/doctype/supplier_scorecard_scoring_criteria/supplier_scorecard_scoring_criteria.json b/erpnext/buying/doctype/supplier_scorecard_scoring_criteria/supplier_scorecard_scoring_criteria.json index 1ee6f02df8..240aa0a708 100644 --- a/erpnext/buying/doctype/supplier_scorecard_scoring_criteria/supplier_scorecard_scoring_criteria.json +++ b/erpnext/buying/doctype/supplier_scorecard_scoring_criteria/supplier_scorecard_scoring_criteria.json @@ -67,13 +67,15 @@ ], "istable": 1, "links": [], - "modified": "2024-03-27 13:10:50.201230", + "modified": "2025-04-30 14:39:16.338798", "modified_by": "Administrator", "module": "Buying", "name": "Supplier Scorecard Scoring Criteria", "owner": "Administrator", "permissions": [], "quick_entry": 1, + "restrict_to_domain": "Buying", + "row_format": "Dynamic", "sort_field": "creation", "sort_order": "DESC", "states": [], diff --git a/erpnext/buying/doctype/supplier_scorecard_scoring_standing/supplier_scorecard_scoring_standing.json b/erpnext/buying/doctype/supplier_scorecard_scoring_standing/supplier_scorecard_scoring_standing.json index 8ce0e82e56..c2b324deac 100644 --- a/erpnext/buying/doctype/supplier_scorecard_scoring_standing/supplier_scorecard_scoring_standing.json +++ b/erpnext/buying/doctype/supplier_scorecard_scoring_standing/supplier_scorecard_scoring_standing.json @@ -115,13 +115,15 @@ ], "istable": 1, "links": [], - "modified": "2024-03-27 13:10:50.322056", + "modified": "2025-04-30 14:38:56.044321", "modified_by": "Administrator", "module": "Buying", "name": "Supplier Scorecard Scoring Standing", "owner": "Administrator", "permissions": [], "quick_entry": 1, + "restrict_to_domain": "Buying", + "row_format": "Dynamic", "sort_field": "creation", "sort_order": "DESC", "states": [], diff --git a/erpnext/buying/doctype/supplier_scorecard_scoring_variable/supplier_scorecard_scoring_variable.json b/erpnext/buying/doctype/supplier_scorecard_scoring_variable/supplier_scorecard_scoring_variable.json index 28e5330e9f..0c25860b15 100644 --- a/erpnext/buying/doctype/supplier_scorecard_scoring_variable/supplier_scorecard_scoring_variable.json +++ b/erpnext/buying/doctype/supplier_scorecard_scoring_variable/supplier_scorecard_scoring_variable.json @@ -53,13 +53,15 @@ ], "istable": 1, "links": [], - "modified": "2024-03-27 13:10:50.456611", + "modified": "2025-04-30 14:39:16.744459", "modified_by": "Administrator", "module": "Buying", "name": "Supplier Scorecard Scoring Variable", "owner": "Administrator", "permissions": [], "quick_entry": 1, + "restrict_to_domain": "Buying", + "row_format": "Dynamic", "sort_field": "creation", "sort_order": "DESC", "states": [], diff --git a/erpnext/buying/doctype/supplier_scorecard_standing/supplier_scorecard_standing.json b/erpnext/buying/doctype/supplier_scorecard_standing/supplier_scorecard_standing.json index dc6f3847de..efea335aff 100644 --- a/erpnext/buying/doctype/supplier_scorecard_standing/supplier_scorecard_standing.json +++ b/erpnext/buying/doctype/supplier_scorecard_standing/supplier_scorecard_standing.json @@ -93,7 +93,7 @@ } ], "links": [], - "modified": "2024-03-27 13:10:50.574065", + "modified": "2025-04-30 14:38:55.790433", "modified_by": "Administrator", "module": "Buying", "name": "Supplier Scorecard Standing", @@ -112,6 +112,8 @@ "write": 1 } ], + "restrict_to_domain": "Buying", + "row_format": "Dynamic", "sort_field": "creation", "sort_order": "DESC", "states": [] diff --git a/erpnext/buying/doctype/supplier_scorecard_variable/supplier_scorecard_variable.json b/erpnext/buying/doctype/supplier_scorecard_variable/supplier_scorecard_variable.json index eacca0aaf1..1c7711b23b 100644 --- a/erpnext/buying/doctype/supplier_scorecard_variable/supplier_scorecard_variable.json +++ b/erpnext/buying/doctype/supplier_scorecard_variable/supplier_scorecard_variable.json @@ -53,7 +53,7 @@ } ], "links": [], - "modified": "2024-03-27 13:10:50.711158", + "modified": "2025-04-30 14:39:16.558183", "modified_by": "Administrator", "module": "Buying", "name": "Supplier Scorecard Variable", @@ -73,6 +73,8 @@ } ], "quick_entry": 1, + "restrict_to_domain": "Buying", + "row_format": "Dynamic", "sort_field": "creation", "sort_order": "DESC", "states": [], -- GitLab From e725a85113164022aa2e08acee127a9605f0d714 Mon Sep 17 00:00:00 2001 From: Antoine Maas Date: Mon, 26 May 2025 12:42:13 +0200 Subject: [PATCH 5/9] feat: extra module doctypes restricted to domain buying --- .../supplier_group_item.json | 4 +++- .../supplier_group_item.py | 14 +++++++++++++ .../doctype/supplier_item/supplier_item.json | 4 +++- .../doctype/supplier_item/supplier_item.py | 14 +++++++++++++ .../customer_number_at_supplier.json | 3 ++- .../import_supplier_invoice.json | 4 +++- .../import_supplier_invoice.py | 18 +++++++++++++++++ .../supplier_number_at_customer.json | 3 ++- .../supplier_group/supplier_group.json | 4 +++- .../doctype/supplier_group/supplier_group.py | 20 +++++++++++++++++++ .../doctype/item_supplier/item_supplier.json | 4 +++- .../doctype/item_supplier/item_supplier.py | 15 ++++++++++++++ 12 files changed, 100 insertions(+), 7 deletions(-) diff --git a/erpnext/accounts/doctype/supplier_group_item/supplier_group_item.json b/erpnext/accounts/doctype/supplier_group_item/supplier_group_item.json index ef2913db73..c101d8cc42 100644 --- a/erpnext/accounts/doctype/supplier_group_item/supplier_group_item.json +++ b/erpnext/accounts/doctype/supplier_group_item/supplier_group_item.json @@ -19,12 +19,14 @@ "index_web_pages_for_search": 1, "istable": 1, "links": [], - "modified": "2024-03-27 13:10:48.895401", + "modified": "2025-05-26 12:31:08.409719", "modified_by": "Administrator", "module": "Accounts", "name": "Supplier Group Item", "owner": "Administrator", "permissions": [], + "restrict_to_domain": "Buying", + "row_format": "Dynamic", "sort_field": "creation", "sort_order": "DESC", "states": [], diff --git a/erpnext/accounts/doctype/supplier_group_item/supplier_group_item.py b/erpnext/accounts/doctype/supplier_group_item/supplier_group_item.py index 61c16fe0ff..bcad816fb5 100644 --- a/erpnext/accounts/doctype/supplier_group_item/supplier_group_item.py +++ b/erpnext/accounts/doctype/supplier_group_item/supplier_group_item.py @@ -6,4 +6,18 @@ from frappe.model.document import Document class SupplierGroupItem(Document): + # begin: auto-generated types + # This code is auto-generated. Do not modify anything in this block. + + from typing import TYPE_CHECKING + + if TYPE_CHECKING: + from frappe.types import DF + + parent: DF.Data + parentfield: DF.Data + parenttype: DF.Data + supplier_group: DF.Link | None + # end: auto-generated types + pass diff --git a/erpnext/accounts/doctype/supplier_item/supplier_item.json b/erpnext/accounts/doctype/supplier_item/supplier_item.json index f63eb39482..14ae405571 100644 --- a/erpnext/accounts/doctype/supplier_item/supplier_item.json +++ b/erpnext/accounts/doctype/supplier_item/supplier_item.json @@ -19,12 +19,14 @@ "index_web_pages_for_search": 1, "istable": 1, "links": [], - "modified": "2024-03-27 13:10:48.995425", + "modified": "2025-05-26 12:31:08.577826", "modified_by": "Administrator", "module": "Accounts", "name": "Supplier Item", "owner": "Administrator", "permissions": [], + "restrict_to_domain": "Buying", + "row_format": "Dynamic", "sort_field": "creation", "sort_order": "DESC", "states": [], diff --git a/erpnext/accounts/doctype/supplier_item/supplier_item.py b/erpnext/accounts/doctype/supplier_item/supplier_item.py index 2105b1d332..c90a53aefe 100644 --- a/erpnext/accounts/doctype/supplier_item/supplier_item.py +++ b/erpnext/accounts/doctype/supplier_item/supplier_item.py @@ -6,4 +6,18 @@ from frappe.model.document import Document class SupplierItem(Document): + # begin: auto-generated types + # This code is auto-generated. Do not modify anything in this block. + + from typing import TYPE_CHECKING + + if TYPE_CHECKING: + from frappe.types import DF + + parent: DF.Data + parentfield: DF.Data + parenttype: DF.Data + supplier: DF.Link | None + # end: auto-generated types + pass diff --git a/erpnext/buying/doctype/customer_number_at_supplier/customer_number_at_supplier.json b/erpnext/buying/doctype/customer_number_at_supplier/customer_number_at_supplier.json index 9c1246371e..0a27a7de05 100644 --- a/erpnext/buying/doctype/customer_number_at_supplier/customer_number_at_supplier.json +++ b/erpnext/buying/doctype/customer_number_at_supplier/customer_number_at_supplier.json @@ -28,12 +28,13 @@ "index_web_pages_for_search": 1, "istable": 1, "links": [], - "modified": "2025-04-27 12:06:04.146431", + "modified": "2025-05-26 12:31:07.850657", "modified_by": "Administrator", "module": "Buying", "name": "Customer Number At Supplier", "owner": "Administrator", "permissions": [], + "restrict_to_domain": "Buying", "row_format": "Dynamic", "sort_field": "creation", "sort_order": "DESC", diff --git a/erpnext/regional/doctype/import_supplier_invoice/import_supplier_invoice.json b/erpnext/regional/doctype/import_supplier_invoice/import_supplier_invoice.json index 6c2fcf6983..6ce234ebb6 100644 --- a/erpnext/regional/doctype/import_supplier_invoice/import_supplier_invoice.json +++ b/erpnext/regional/doctype/import_supplier_invoice/import_supplier_invoice.json @@ -94,12 +94,14 @@ } ], "links": [], - "modified": "2024-03-27 13:09:50.384173", + "modified": "2025-05-26 12:31:08.717991", "modified_by": "Administrator", "module": "Regional", "name": "Import Supplier Invoice", "owner": "Administrator", "permissions": [], + "restrict_to_domain": "Buying", + "row_format": "Dynamic", "sort_field": "creation", "sort_order": "DESC", "states": [], diff --git a/erpnext/regional/doctype/import_supplier_invoice/import_supplier_invoice.py b/erpnext/regional/doctype/import_supplier_invoice/import_supplier_invoice.py index a86258057d..357a673a1d 100644 --- a/erpnext/regional/doctype/import_supplier_invoice/import_supplier_invoice.py +++ b/erpnext/regional/doctype/import_supplier_invoice/import_supplier_invoice.py @@ -17,6 +17,24 @@ import erpnext class ImportSupplierInvoice(Document): + # begin: auto-generated types + # This code is auto-generated. Do not modify anything in this block. + + from typing import TYPE_CHECKING + + if TYPE_CHECKING: + from frappe.types import DF + + company: DF.Link + default_buying_price_list: DF.Link + invoice_series: DF.Literal["ACC-PINV-.YYYY.-"] + item_code: DF.Link + status: DF.Data | None + supplier_group: DF.Link + tax_account: DF.Link + zip_file: DF.Attach | None + # end: auto-generated types + def validate(self): if not frappe.db.get_value("Stock Settings", fieldname="stock_uom"): frappe.throw(_("Please set default UOM in Stock Settings")) diff --git a/erpnext/selling/doctype/supplier_number_at_customer/supplier_number_at_customer.json b/erpnext/selling/doctype/supplier_number_at_customer/supplier_number_at_customer.json index 867561dea4..d7edd0d75f 100644 --- a/erpnext/selling/doctype/supplier_number_at_customer/supplier_number_at_customer.json +++ b/erpnext/selling/doctype/supplier_number_at_customer/supplier_number_at_customer.json @@ -28,12 +28,13 @@ "index_web_pages_for_search": 1, "istable": 1, "links": [], - "modified": "2025-04-27 12:00:04.890068", + "modified": "2025-05-26 12:31:08.181258", "modified_by": "Administrator", "module": "Selling", "name": "Supplier Number At Customer", "owner": "Administrator", "permissions": [], + "restrict_to_domain": "Buying", "row_format": "Dynamic", "sort_field": "creation", "sort_order": "DESC", diff --git a/erpnext/setup/doctype/supplier_group/supplier_group.json b/erpnext/setup/doctype/supplier_group/supplier_group.json index c32017a49d..54ec6dae57 100644 --- a/erpnext/setup/doctype/supplier_group/supplier_group.json +++ b/erpnext/setup/doctype/supplier_group/supplier_group.json @@ -123,7 +123,7 @@ "index_web_pages_for_search": 1, "is_tree": 1, "links": [], - "modified": "2025-01-22 10:49:27.066443", + "modified": "2025-05-26 12:32:25.422830", "modified_by": "Administrator", "module": "Setup", "name": "Supplier Group", @@ -188,6 +188,8 @@ "share": 1 } ], + "restrict_to_domain": "Buying", + "row_format": "Dynamic", "show_name_in_global_search": 1, "sort_field": "creation", "sort_order": "ASC", diff --git a/erpnext/setup/doctype/supplier_group/supplier_group.py b/erpnext/setup/doctype/supplier_group/supplier_group.py index e47c8774fb..366ec208df 100644 --- a/erpnext/setup/doctype/supplier_group/supplier_group.py +++ b/erpnext/setup/doctype/supplier_group/supplier_group.py @@ -10,6 +10,26 @@ from erpnext.portal.utils import update_role_for_users class SupplierGroup(NestedSet): + # begin: auto-generated types + # This code is auto-generated. Do not modify anything in this block. + + from typing import TYPE_CHECKING + + if TYPE_CHECKING: + from erpnext.accounts.doctype.party_account.party_account import PartyAccount + from frappe.types import DF + + accounts: DF.Table[PartyAccount] + is_group: DF.Check + lft: DF.Int + old_parent: DF.Link | None + parent_supplier_group: DF.Link | None + payment_terms: DF.Link | None + rgt: DF.Int + role_profile_name: DF.Link | None + supplier_group_name: DF.Data + # end: auto-generated types + nsm_parent_field = "parent_supplier_group" def validate(self): diff --git a/erpnext/stock/doctype/item_supplier/item_supplier.json b/erpnext/stock/doctype/item_supplier/item_supplier.json index c8304be42c..cb62993b0b 100644 --- a/erpnext/stock/doctype/item_supplier/item_supplier.json +++ b/erpnext/stock/doctype/item_supplier/item_supplier.json @@ -30,12 +30,14 @@ "idx": 1, "istable": 1, "links": [], - "modified": "2024-03-27 13:09:55.339052", + "modified": "2025-05-26 12:31:08.896571", "modified_by": "Administrator", "module": "Stock", "name": "Item Supplier", "owner": "Administrator", "permissions": [], + "restrict_to_domain": "Buying", + "row_format": "Dynamic", "sort_field": "creation", "sort_order": "DESC", "states": [], diff --git a/erpnext/stock/doctype/item_supplier/item_supplier.py b/erpnext/stock/doctype/item_supplier/item_supplier.py index 8803e011f0..57c1fd3b28 100644 --- a/erpnext/stock/doctype/item_supplier/item_supplier.py +++ b/erpnext/stock/doctype/item_supplier/item_supplier.py @@ -7,4 +7,19 @@ from frappe.model.document import Document class ItemSupplier(Document): + # begin: auto-generated types + # This code is auto-generated. Do not modify anything in this block. + + from typing import TYPE_CHECKING + + if TYPE_CHECKING: + from frappe.types import DF + + parent: DF.Data + parentfield: DF.Data + parenttype: DF.Data + supplier: DF.Link + supplier_part_no: DF.Data | None + # end: auto-generated types + pass -- GitLab From 0e05521db163df046a83a9191faa4763aecaef34 Mon Sep 17 00:00:00 2001 From: Antoine Maas Date: Mon, 26 May 2025 15:27:12 +0200 Subject: [PATCH 6/9] fix: add buying domain to hooks --- erpnext/hooks.py | 1 + 1 file changed, 1 insertion(+) diff --git a/erpnext/hooks.py b/erpnext/hooks.py index 6722061d4a..adb1d52666 100644 --- a/erpnext/hooks.py +++ b/erpnext/hooks.py @@ -91,6 +91,7 @@ domains = { "Stocks": "erpnext.domains.get_data", "Assets": "erpnext.domains.get_data", "Quality": "erpnext.domains.get_data", + "Buying": "erpnext.domains.get_data", } treeviews = [ -- GitLab From bfb18c4460e56b43eaa2071bcef39ffcb93aa7f7 Mon Sep 17 00:00:00 2001 From: Antoine Maas Date: Mon, 26 May 2025 15:27:42 +0200 Subject: [PATCH 7/9] fix: removed incorrect doctype from restricted_fields --- erpnext/domains/buying.yaml | 8 -------- 1 file changed, 8 deletions(-) diff --git a/erpnext/domains/buying.yaml b/erpnext/domains/buying.yaml index 10a6e1e9d7..686658750c 100644 --- a/erpnext/domains/buying.yaml +++ b/erpnext/domains/buying.yaml @@ -2,29 +2,21 @@ restricted_fields: Quotation Item: - costs_section - section_break_nqjy - Sales Order: - margin_section - Sales Order Item: - cost_calculation_section - section_break_kssi - drop_ship_section - Sales Invoice Item: - internal_transfer_section - expense_account - drop_ship - Item: - purchasing_tab - Item Default: - purchase_defaults - Item Group Default: - - purchase_defaults - restricted_roles: - Purchase Master Manager - Purchase Manager -- GitLab From d38fee73676c8dcad6bad5bfc639707f367048dd Mon Sep 17 00:00:00 2001 From: Antoine Maas Date: Mon, 26 May 2025 15:35:23 +0200 Subject: [PATCH 8/9] feat: additional dt added to buying --- .../purchase_invoice/purchase_invoice.json | 18 ++++++++++-------- .../purchase_invoice_advance.json | 4 +++- .../purchase_invoice_item.json | 3 ++- .../purchase_taxes_and_charges.json | 3 ++- .../purchase_taxes_and_charges_template.json | 4 +++- .../asset_repair_purchase_invoice.json | 4 ++-- .../landed_cost_purchase_receipt.json | 4 +++- .../purchase_receipt/purchase_receipt.json | 3 ++- .../purchase_receipt_item.json | 3 ++- 9 files changed, 29 insertions(+), 17 deletions(-) diff --git a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json index e04f424b85..e0a79c0a15 100644 --- a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json +++ b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json @@ -204,7 +204,8 @@ "inter_company_invoice_reference", "is_old_subcontracting_flow", "remarks", - "connections_tab" + "connections_tab", + "shipping_address_section" ], "fields": [ { @@ -1714,13 +1715,13 @@ "is_sealed": 1, "is_submittable": 1, "links": [ - { - "group": "Payment Request", - "link_doctype": "Payment Request", - "link_fieldname": "reference_name" - } + { + "group": "Payment Request", + "link_doctype": "Payment Request", + "link_fieldname": "reference_name" + } ], - "modified": "2025-04-09 16:49:22.175081", + "modified": "2025-05-26 15:33:41.035299", "modified_by": "Administrator", "module": "Accounts", "name": "Purchase Invoice", @@ -1776,11 +1777,12 @@ "write": 1 } ], + "restrict_to_domain": "Buying", "row_format": "Dynamic", "search_fields": "posting_date, supplier, bill_no, base_grand_total, outstanding_amount", - "show_preview_popup": 1, "sender_field": "sender", "show_name_in_global_search": 1, + "show_preview_popup": 1, "sort_field": "creation", "sort_order": "DESC", "states": [], diff --git a/erpnext/accounts/doctype/purchase_invoice_advance/purchase_invoice_advance.json b/erpnext/accounts/doctype/purchase_invoice_advance/purchase_invoice_advance.json index 2ef85ea970..16b562608d 100644 --- a/erpnext/accounts/doctype/purchase_invoice_advance/purchase_invoice_advance.json +++ b/erpnext/accounts/doctype/purchase_invoice_advance/purchase_invoice_advance.json @@ -125,13 +125,15 @@ "index_web_pages_for_search": 1, "istable": 1, "links": [], - "modified": "2024-12-20 12:04:46.729972", + "modified": "2025-05-26 15:34:52.119880", "modified_by": "Administrator", "module": "Accounts", "name": "Purchase Invoice Advance", "owner": "Administrator", "permissions": [], "quick_entry": 1, + "restrict_to_domain": "Buying", + "row_format": "Dynamic", "sort_field": "creation", "sort_order": "DESC", "states": [] diff --git a/erpnext/accounts/doctype/purchase_invoice_item/purchase_invoice_item.json b/erpnext/accounts/doctype/purchase_invoice_item/purchase_invoice_item.json index 6856a72d86..d583f8f37e 100644 --- a/erpnext/accounts/doctype/purchase_invoice_item/purchase_invoice_item.json +++ b/erpnext/accounts/doctype/purchase_invoice_item/purchase_invoice_item.json @@ -1003,13 +1003,14 @@ "idx": 1, "istable": 1, "links": [], - "modified": "2025-03-07 10:21:59.960021", + "modified": "2025-05-26 15:29:08.029142", "modified_by": "Administrator", "module": "Accounts", "name": "Purchase Invoice Item", "naming_rule": "Random", "owner": "Administrator", "permissions": [], + "restrict_to_domain": "Buying", "row_format": "Dynamic", "sort_field": "creation", "sort_order": "DESC", diff --git a/erpnext/accounts/doctype/purchase_taxes_and_charges/purchase_taxes_and_charges.json b/erpnext/accounts/doctype/purchase_taxes_and_charges/purchase_taxes_and_charges.json index 4387c6ecff..837efd5e6e 100644 --- a/erpnext/accounts/doctype/purchase_taxes_and_charges/purchase_taxes_and_charges.json +++ b/erpnext/accounts/doctype/purchase_taxes_and_charges/purchase_taxes_and_charges.json @@ -278,13 +278,14 @@ "idx": 1, "istable": 1, "links": [], - "modified": "2025-04-28 12:16:08.129373", + "modified": "2025-05-26 15:34:21.124077", "modified_by": "Administrator", "module": "Accounts", "name": "Purchase Taxes and Charges", "naming_rule": "Random", "owner": "Administrator", "permissions": [], + "restrict_to_domain": "Buying", "row_format": "Dynamic", "sort_field": "creation", "sort_order": "DESC", diff --git a/erpnext/accounts/doctype/purchase_taxes_and_charges_template/purchase_taxes_and_charges_template.json b/erpnext/accounts/doctype/purchase_taxes_and_charges_template/purchase_taxes_and_charges_template.json index 2ee8ec179d..030c7e74b6 100644 --- a/erpnext/accounts/doctype/purchase_taxes_and_charges_template/purchase_taxes_and_charges_template.json +++ b/erpnext/accounts/doctype/purchase_taxes_and_charges_template/purchase_taxes_and_charges_template.json @@ -77,7 +77,7 @@ "icon": "uil uil-money-bill", "idx": 1, "links": [], - "modified": "2024-03-27 13:10:26.945131", + "modified": "2025-05-26 15:34:42.701554", "modified_by": "Administrator", "module": "Accounts", "name": "Purchase Taxes and Charges Template", @@ -127,6 +127,8 @@ "select": 1 } ], + "restrict_to_domain": "Buying", + "row_format": "Dynamic", "show_title_field_in_link": 1, "sort_field": "creation", "sort_order": "DESC", diff --git a/erpnext/assets/doctype/asset_repair_purchase_invoice/asset_repair_purchase_invoice.json b/erpnext/assets/doctype/asset_repair_purchase_invoice/asset_repair_purchase_invoice.json index 87983ded9f..c419ff4986 100644 --- a/erpnext/assets/doctype/asset_repair_purchase_invoice/asset_repair_purchase_invoice.json +++ b/erpnext/assets/doctype/asset_repair_purchase_invoice/asset_repair_purchase_invoice.json @@ -38,13 +38,13 @@ "index_web_pages_for_search": 1, "istable": 1, "links": [], - "modified": "2025-04-30 14:06:43.589621", + "modified": "2025-05-26 15:29:07.486803", "modified_by": "Administrator", "module": "Assets", "name": "Asset Repair Purchase Invoice", "owner": "Administrator", "permissions": [], - "restrict_to_domain": "Assets", + "restrict_to_domain": "Buying", "row_format": "Dynamic", "sort_field": "creation", "sort_order": "DESC", diff --git a/erpnext/stock/doctype/landed_cost_purchase_receipt/landed_cost_purchase_receipt.json b/erpnext/stock/doctype/landed_cost_purchase_receipt/landed_cost_purchase_receipt.json index 64a24542a8..833ba3f5db 100644 --- a/erpnext/stock/doctype/landed_cost_purchase_receipt/landed_cost_purchase_receipt.json +++ b/erpnext/stock/doctype/landed_cost_purchase_receipt/landed_cost_purchase_receipt.json @@ -65,12 +65,14 @@ "idx": 1, "istable": 1, "links": [], - "modified": "2024-03-27 13:09:59.363367", + "modified": "2025-05-26 15:34:30.207396", "modified_by": "Administrator", "module": "Stock", "name": "Landed Cost Purchase Receipt", "owner": "Administrator", "permissions": [], + "restrict_to_domain": "Buying", + "row_format": "Dynamic", "sort_field": "creation", "sort_order": "ASC", "states": [] diff --git a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.json b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.json index 979c584f58..ae83e377c0 100755 --- a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.json +++ b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.json @@ -1290,7 +1290,7 @@ "idx": 261, "is_submittable": 1, "links": [], - "modified": "2025-04-09 16:52:19.323878", + "modified": "2025-05-26 15:34:15.119175", "modified_by": "Administrator", "module": "Stock", "name": "Purchase Receipt", @@ -1351,6 +1351,7 @@ "write": 1 } ], + "restrict_to_domain": "Buying", "row_format": "Dynamic", "search_fields": "status, posting_date, supplier", "show_name_in_global_search": 1, diff --git a/erpnext/stock/doctype/purchase_receipt_item/purchase_receipt_item.json b/erpnext/stock/doctype/purchase_receipt_item/purchase_receipt_item.json index c319892ea5..39e05d3635 100644 --- a/erpnext/stock/doctype/purchase_receipt_item/purchase_receipt_item.json +++ b/erpnext/stock/doctype/purchase_receipt_item/purchase_receipt_item.json @@ -1149,7 +1149,7 @@ "idx": 1, "istable": 1, "links": [], - "modified": "2025-03-07 10:25:15.554985", + "modified": "2025-05-26 15:29:07.689645", "modified_by": "Administrator", "module": "Stock", "name": "Purchase Receipt Item", @@ -1157,6 +1157,7 @@ "owner": "Administrator", "permissions": [], "quick_entry": 1, + "restrict_to_domain": "Buying", "row_format": "Dynamic", "sort_field": "creation", "sort_order": "DESC", -- GitLab From 20177848f9e69f6baaf59f12d40ba7081308af4b Mon Sep 17 00:00:00 2001 From: Antoine Maas Date: Mon, 26 May 2025 15:37:10 +0200 Subject: [PATCH 9/9] fix: reverse error in json --- .../request_for_quotation_item/request_for_quotation_item.json | 1 + 1 file changed, 1 insertion(+) diff --git a/erpnext/buying/doctype/request_for_quotation_item/request_for_quotation_item.json b/erpnext/buying/doctype/request_for_quotation_item/request_for_quotation_item.json index 76d4efd853..0dc8e36fee 100644 --- a/erpnext/buying/doctype/request_for_quotation_item/request_for_quotation_item.json +++ b/erpnext/buying/doctype/request_for_quotation_item/request_for_quotation_item.json @@ -63,6 +63,7 @@ "fieldtype": "Column Break" }, { + "fetch_from": "item_code.item_name", "fieldname": "item_name", "fieldtype": "Data", "in_global_search": 1, -- GitLab