refactor(UX): selling settings form (#54412)

refactor(UX): Selling settings form cleanup
This commit is contained in:
Nishka Gosalia
2026-04-25 15:27:32 +05:30
committed by GitHub
parent ebca389136
commit fba33b7e7a

View File

@@ -6,6 +6,7 @@
"document_type": "Other",
"engine": "InnoDB",
"field_order": [
"customer_defaults_tab",
"customer_defaults_section",
"cust_master_name",
"customer_group",
@@ -14,12 +15,14 @@
"item_price_tab",
"item_price_settings_section",
"selling_price_list",
"maintain_same_rate_action",
"role_to_override_stop_action",
"column_break_15",
"maintain_same_sales_rate",
"fallback_to_default_price_list",
"editable_price_list_rate",
"section_break_lpfl",
"maintain_same_sales_rate",
"column_break_hkqv",
"maintain_same_rate_action",
"role_to_override_stop_action",
"section_break_htyx",
"validate_selling_price",
"editable_bundle_item_rates",
"allow_negative_rates_for_items",
@@ -28,20 +31,25 @@
"so_required",
"dn_required",
"sales_update_frequency",
"blanket_order_allowance",
"enable_tracking_sales_commissions",
"column_break_5",
"allow_multiple_items",
"allow_against_multiple_purchase_orders",
"hide_tax_id",
"section_break_jcmi",
"allow_sales_order_creation_for_expired_quotation",
"dont_reserve_sales_order_qty_on_sales_return",
"hide_tax_id",
"enable_discount_accounting",
"enable_cutoff_date_on_bulk_delivery_note_creation",
"allow_zero_qty_in_quotation",
"allow_zero_qty_in_sales_order",
"set_zero_rate_for_expired_batch",
"section_break_zero_qty",
"allow_zero_qty_in_quotation",
"column_break_zwvf",
"allow_zero_qty_in_sales_order",
"blanket_orders_section",
"blanket_order_allowance",
"advanced_features_tab",
"section_break_avhb",
"enable_tracking_sales_commissions",
"enable_discount_accounting",
"enable_utm",
"experimental_section",
"use_legacy_js_reactivity",
@@ -61,6 +69,7 @@
"options": "Customer Name\nNaming Series\nAuto Name"
},
{
"documentation_url": "https://docs.frappe.io/erpnext/selling-settings#2-default-customer-group",
"fieldname": "customer_group",
"fieldtype": "Link",
"in_list_view": 1,
@@ -69,6 +78,7 @@
"options": "Customer Group"
},
{
"documentation_url": "https://docs.frappe.io/erpnext/selling-settings#3-default-territory",
"fieldname": "territory",
"fieldtype": "Link",
"in_list_view": 1,
@@ -80,6 +90,7 @@
"fieldtype": "Link",
"in_list_view": 1,
"label": "Default Price List",
"link_filters": "[[\"Price List\", \"selling\", \"=\", 1]]",
"options": "Price List"
},
{
@@ -89,66 +100,72 @@
{
"fieldname": "so_required",
"fieldtype": "Select",
"label": "Is Sales Order Required for Sales Invoice & Delivery Note Creation?",
"label": "Is Sales Order required to create Sales Invoice/Delivery Note?",
"options": "No\nYes"
},
{
"fieldname": "dn_required",
"fieldtype": "Select",
"label": "Is Delivery Note Required for Sales Invoice Creation?",
"label": "Is Delivery Note required to create Sales Invoice?",
"options": "No\nYes"
},
{
"default": "Daily",
"description": "How often should Project and Company be updated based on Sales Transactions?",
"description": "The frequency at which project progress and company transaction details will be updated. Set it to daily or monthly if you post a lot of transactions.",
"fieldname": "sales_update_frequency",
"fieldtype": "Select",
"label": "Sales Update Frequency in Company and Project",
"label": "How often should sales data be updated in Company/Project?",
"options": "Monthly\nEach Transaction\nDaily",
"reqd": 1
},
{
"bold": 1,
"default": "0",
"description": "Warn or stop if Item rate is changed in Delivery Notes and Sales Invoices generated from a Sales Order.",
"fieldname": "maintain_same_sales_rate",
"fieldtype": "Check",
"label": "Maintain Same Rate Throughout Sales Cycle"
"label": "Maintain same rate throughout sales cycle"
},
{
"bold": 1,
"default": "0",
"fieldname": "editable_price_list_rate",
"fieldtype": "Check",
"label": "Allow User to Edit Price List Rate in Transactions"
"label": "Allow editing Price List rate in transactions"
},
{
"default": "0",
"fieldname": "allow_multiple_items",
"fieldtype": "Check",
"label": "Allow Item to be Added Multiple Times in a Transaction"
"label": "Allow same Item to be added multiple times in a transaction"
},
{
"default": "0",
"fieldname": "allow_against_multiple_purchase_orders",
"fieldtype": "Check",
"label": "Allow Multiple Sales Orders Against a Customer's Purchase Order"
"label": "Allow multiple Sales Orders against a customer's Purchase Order"
},
{
"default": "0",
"description": "Enable this to block transactions where the selling price is less than the purchase or valuation rate",
"fieldname": "validate_selling_price",
"fieldtype": "Check",
"label": "Validate Selling Price for Item Against Purchase Rate or Valuation Rate"
"label": "Validate selling price for Item against purchase or valuation rate"
},
{
"default": "0",
"description": "Most Customers have a unique Tax ID that is fetched into selling transactions. Enable this setting if you do not want Customer Tax IDs to appear in sales transactions.",
"fieldname": "hide_tax_id",
"fieldtype": "Check",
"label": "Hide Customer's Tax ID from Sales Transactions"
"label": "Hide Customer's Tax ID from sales transactions",
"show_description_on_click": 1
},
{
"default": "Stop",
"depends_on": "maintain_same_sales_rate",
"fieldname": "maintain_same_rate_action",
"fieldtype": "Select",
"label": "Action if Same Rate is Not Maintained Throughout Sales Cycle",
"label": "Action if same rate is not maintained throughout sales cycle",
"mandatory_depends_on": "maintain_same_sales_rate",
"options": "Stop\nWarn"
},
@@ -156,13 +173,12 @@
"depends_on": "eval: doc.maintain_same_sales_rate && doc.maintain_same_rate_action == 'Stop'",
"fieldname": "role_to_override_stop_action",
"fieldtype": "Link",
"label": "Role Allowed to Override Stop Action",
"label": "Role allowed to override stop action",
"options": "Role"
},
{
"fieldname": "customer_defaults_section",
"fieldtype": "Section Break",
"label": "Customer Defaults"
"fieldtype": "Section Break"
},
{
"fieldname": "column_break_4",
@@ -170,12 +186,7 @@
},
{
"fieldname": "item_price_settings_section",
"fieldtype": "Section Break",
"label": "Item Price Settings"
},
{
"fieldname": "column_break_15",
"fieldtype": "Column Break"
"fieldtype": "Section Break"
},
{
"fieldname": "sales_transactions_settings_section",
@@ -184,34 +195,41 @@
},
{
"default": "0",
"description": "Enabling this will do the following:\n<ul style=\"padding-left:16px\">\n<li>Make the rate column of all Packed/Bundle Items tables editable.</li>\n<li>Calculate the prices of all <a href=\"/desk/product-bundle\" rel=\"noopener noreferrer\">Product Bundles</a> in the Items table, based on the prices of its child Items, specified in the Packed/Bundle Items table. </li>\n</ul>\nNote: If this is enabled, updating the rate of the Product Bundle in the Items table will not change its price. It will get reset to the price based on its Child Items on saving the doc.",
"documentation_url": "https://docs.frappe.io/erpnext/selling-settings#7-calculate-product-bundle-price-based-on-child-items-rates",
"fieldname": "editable_bundle_item_rates",
"fieldtype": "Check",
"label": "Calculate Product Bundle Price based on Child Items' Rates"
"label": "Calculate Product Bundle price based on child Item's rates",
"show_description_on_click": 1
},
{
"default": "0",
"description": "If enabled, additional ledger entries will be made for discounts in a separate Discount Account",
"fieldname": "enable_discount_accounting",
"fieldtype": "Check",
"label": "Enable Discount Accounting for Selling"
"label": "Enable discount accounting for selling"
},
{
"default": "0",
"description": "This allows creation of sales orders from quotations that have passed their expiration date, providing flexibility in processing orders despite outdated quotes.",
"fieldname": "allow_sales_order_creation_for_expired_quotation",
"fieldtype": "Check",
"label": "Allow Sales Order Creation For Expired Quotation"
"label": "Allow Sales Order creation for expired Quotation"
},
{
"default": "0",
"description": "Prevents the automatic reservation of stock quantities from sales orders when processing sales returns.",
"fieldname": "dont_reserve_sales_order_qty_on_sales_return",
"fieldtype": "Check",
"label": "Don't Reserve Sales Order Qty on Sales Return"
"label": "Don't reserve Sales Order qty on sales return"
},
{
"default": "0",
"description": "Enable this option to permit the use of negative rates for items in sales transactions. This setting is useful for applying substantial discounts, processing refunds or returns, and handling special promotional pricing.",
"fieldname": "allow_negative_rates_for_items",
"fieldtype": "Check",
"label": "Allow Negative rates for Items"
"label": "Allow negative rates for Items",
"show_description_on_click": 1
},
{
"description": "Percentage you are allowed to sell beyond the Blanket Order quantity.",
@@ -221,9 +239,10 @@
},
{
"default": "0",
"description": "When enabled, it adds a cutoff date filter to Delivery Notes created in bulk from Sales Orders. This allows you to process orders only with a transaction date up to the specified cutoff date, which is useful for period-end processing and batch fulfillment.",
"fieldname": "enable_cutoff_date_on_bulk_delivery_note_creation",
"fieldtype": "Check",
"label": "Enable Cut-Off Date on Bulk Delivery Note Creation"
"label": "Enable cut-off date on creating bulk Delivery Notes"
},
{
"fieldname": "experimental_section",
@@ -232,29 +251,26 @@
},
{
"default": "0",
"description": "Allows users to submit Sales Orders with zero quantity. Useful when rates are fixed but the quantities are not. Eg. Rate Contracts.",
"fieldname": "allow_zero_qty_in_sales_order",
"fieldtype": "Check",
"label": "Allow Sales Order with Zero Quantity"
"label": "Allow Sales Order with zero quantity"
},
{
"default": "0",
"description": "Allows users to submit Quotations with zero quantity. Useful when rates are fixed but the quantities are not. Eg. Rate Contracts.",
"fieldname": "allow_zero_qty_in_quotation",
"fieldtype": "Check",
"label": "Allow Quotation with Zero Quantity"
"label": "Allow Quotation with zero quantity"
},
{
"fieldname": "section_break_zwh6",
"fieldtype": "Section Break",
"label": "Subcontracting Inward Settings"
"fieldtype": "Section Break"
},
{
"default": "0",
"description": "If enabled, system will allow user to deliver the entire quantity of the finished goods produced against the Subcontracting Inward Order. If disabled, system will allow delivery of only the ordered quantity.",
"fieldname": "allow_delivery_of_overproduced_qty",
"fieldtype": "Check",
"label": "Allow Delivery of Overproduced Qty"
"label": "Allow delivery of overproduced quantity"
},
{
"fieldname": "column_break_mla9",
@@ -277,9 +293,10 @@
},
{
"default": "0",
"description": "If no Item Price is found for an item in the Price List set in the transaction, prices from the Default Price List will be fetched.",
"fieldname": "fallback_to_default_price_list",
"fieldtype": "Check",
"label": "Use Prices from Default Price List as Fallback"
"label": "Use prices from Default Price List as fallback"
},
{
"default": "0",
@@ -292,7 +309,7 @@
"description": "If enabled, system will set incoming rate as zero for stand-alone credit notes with expired batch item.",
"fieldname": "set_zero_rate_for_expired_batch",
"fieldtype": "Check",
"label": "Set Incoming Rate as Zero for Expired Batch"
"label": "Set incoming rate as zero for expired Batch"
},
{
"default": "0",
@@ -303,8 +320,7 @@
},
{
"fieldname": "section_break_avhb",
"fieldtype": "Section Break",
"label": "Analytics"
"fieldtype": "Section Break"
},
{
"default": "0",
@@ -319,17 +335,57 @@
"description": "If enabled, the Secondary Items generated against a Finished Good will also be added in the Stock Entry when delivering that Finished Good.",
"fieldname": "deliver_secondary_items",
"fieldtype": "Check",
"label": "Deliver Secondary Items"
"label": "Deliver secondary Items"
},
{
"fieldname": "customer_defaults_tab",
"fieldtype": "Tab Break",
"label": "Customer Defaults"
},
{
"fieldname": "section_break_lpfl",
"fieldtype": "Section Break"
},
{
"fieldname": "column_break_hkqv",
"fieldtype": "Column Break"
},
{
"fieldname": "section_break_htyx",
"fieldtype": "Section Break"
},
{
"fieldname": "advanced_features_tab",
"fieldtype": "Tab Break",
"label": "Advanced Features"
},
{
"description": "Allow sales transactions with zero quantities if the rate is fixed but the quantities are not. e.g. Rate Contracts",
"fieldname": "section_break_zero_qty",
"fieldtype": "Section Break",
"label": "Zero-Quantity Line Items"
},
{
"fieldname": "section_break_jcmi",
"fieldtype": "Section Break"
},
{
"fieldname": "column_break_zwvf",
"fieldtype": "Column Break"
},
{
"fieldname": "blanket_orders_section",
"fieldtype": "Section Break",
"label": "Blanket Orders"
}
],
"grid_page_length": 50,
"hide_toolbar": 0,
"icon": "fa fa-cog",
"idx": 1,
"index_web_pages_for_search": 1,
"issingle": 1,
"links": [],
"modified": "2026-03-16 13:28:18.988883",
"modified": "2026-04-21 21:29:32.890098",
"modified_by": "Administrator",
"module": "Selling",
"name": "Selling Settings",