refactor: bring back titles on sales transactions and make them optional and visible on purchase transactions (#52633)

* fix: correct wrong PO titles

* refactor: restore title fields to sales transaction doctypes

* refactor: change title fields to optional fields with no default in purchase transactional doctypes

* chore: re-save doctype definitions

- updates modified timestamps
- regenerates type hints

---------

Co-authored-by: barredterra <14891507+barredterra@users.noreply.github.com>
This commit is contained in:
Trusted Computer
2026-04-10 00:39:32 -07:00
committed by GitHub
parent 9bc5a30ea4
commit bd9427623f
20 changed files with 169 additions and 14 deletions

View File

@@ -26,6 +26,8 @@
"due_date", "due_date",
"amended_from", "amended_from",
"return_against", "return_against",
"section_break_clmv",
"title",
"accounting_dimensions_section", "accounting_dimensions_section",
"project", "project",
"dimension_col_break", "dimension_col_break",
@@ -1620,12 +1622,24 @@
"fieldname": "auto_repeat_section", "fieldname": "auto_repeat_section",
"fieldtype": "Section Break", "fieldtype": "Section Break",
"label": "Auto Repeat" "label": "Auto Repeat"
},
{
"fieldname": "section_break_clmv",
"fieldtype": "Section Break"
},
{
"allow_on_submit": 1,
"fieldname": "title",
"fieldtype": "Data",
"label": "Title",
"no_copy": 1,
"print_hide": 1
} }
], ],
"icon": "fa fa-file-text", "icon": "fa fa-file-text",
"is_submittable": 1, "is_submittable": 1,
"links": [], "links": [],
"modified": "2026-03-02 07:32:47.667810", "modified": "2026-03-30 12:15:57.253316",
"modified_by": "Administrator", "modified_by": "Administrator",
"module": "Accounts", "module": "Accounts",
"name": "POS Invoice", "name": "POS Invoice",

View File

@@ -173,6 +173,7 @@ class POSInvoice(SalesInvoice):
terms: DF.TextEditor | None terms: DF.TextEditor | None
territory: DF.Link | None territory: DF.Link | None
timesheets: DF.Table[SalesInvoiceTimesheet] timesheets: DF.Table[SalesInvoiceTimesheet]
title: DF.Data | None
to_date: DF.Date | None to_date: DF.Date | None
total: DF.Currency total: DF.Currency
total_advance: DF.Currency total_advance: DF.Currency

View File

@@ -27,6 +27,8 @@
"update_billed_amount_in_purchase_receipt", "update_billed_amount_in_purchase_receipt",
"apply_tds", "apply_tds",
"amended_from", "amended_from",
"section_break_ecfi",
"title",
"supplier_invoice_details", "supplier_invoice_details",
"bill_no", "bill_no",
"column_break_15", "column_break_15",
@@ -209,6 +211,14 @@
"connections_tab" "connections_tab"
], ],
"fields": [ "fields": [
{
"allow_on_submit": 1,
"fieldname": "title",
"fieldtype": "Data",
"label": "Title",
"no_copy": 1,
"print_hide": 1
},
{ {
"fieldname": "naming_series", "fieldname": "naming_series",
"fieldtype": "Select", "fieldtype": "Select",
@@ -1682,6 +1692,10 @@
"fieldname": "automation_section", "fieldname": "automation_section",
"fieldtype": "Section Break", "fieldtype": "Section Break",
"label": "Automation" "label": "Automation"
},
{
"fieldname": "section_break_ecfi",
"fieldtype": "Section Break"
} }
], ],
"grid_page_length": 50, "grid_page_length": 50,
@@ -1689,7 +1703,7 @@
"idx": 204, "idx": 204,
"is_submittable": 1, "is_submittable": 1,
"links": [], "links": [],
"modified": "2026-03-25 11:45:38.696888", "modified": "2026-03-30 12:16:40.157755",
"modified_by": "Administrator", "modified_by": "Administrator",
"module": "Accounts", "module": "Accounts",
"name": "Purchase Invoice", "name": "Purchase Invoice",

View File

@@ -204,6 +204,7 @@ class PurchaseInvoice(BuyingController):
taxes_and_charges_deducted: DF.Currency taxes_and_charges_deducted: DF.Currency
tc_name: DF.Link | None tc_name: DF.Link | None
terms: DF.TextEditor | None terms: DF.TextEditor | None
title: DF.Data | None
to_date: DF.Date | None to_date: DF.Date | None
total: DF.Currency total: DF.Currency
total_advance: DF.Currency total_advance: DF.Currency

View File

@@ -33,6 +33,8 @@
"is_created_using_pos", "is_created_using_pos",
"pos_closing_entry", "pos_closing_entry",
"has_subcontracted", "has_subcontracted",
"section_break_sgnf",
"title",
"accounting_dimensions_section", "accounting_dimensions_section",
"cost_center", "cost_center",
"dimension_col_break", "dimension_col_break",
@@ -2328,6 +2330,18 @@
"fieldname": "automation_section", "fieldname": "automation_section",
"fieldtype": "Section Break", "fieldtype": "Section Break",
"label": "Automation" "label": "Automation"
},
{
"fieldname": "section_break_sgnf",
"fieldtype": "Section Break"
},
{
"allow_on_submit": 1,
"fieldname": "title",
"fieldtype": "Data",
"label": "Title",
"no_copy": 1,
"print_hide": 1
} }
], ],
"grid_page_length": 50, "grid_page_length": 50,
@@ -2341,7 +2355,7 @@
"link_fieldname": "consolidated_invoice" "link_fieldname": "consolidated_invoice"
} }
], ],
"modified": "2026-03-09 17:15:30.931929", "modified": "2026-03-30 12:17:16.201016",
"modified_by": "Administrator", "modified_by": "Administrator",
"module": "Accounts", "module": "Accounts",
"name": "Sales Invoice", "name": "Sales Invoice",

View File

@@ -226,6 +226,7 @@ class SalesInvoice(SellingController):
terms: DF.TextEditor | None terms: DF.TextEditor | None
territory: DF.Link | None territory: DF.Link | None
timesheets: DF.Table[SalesInvoiceTimesheet] timesheets: DF.Table[SalesInvoiceTimesheet]
title: DF.Data | None
to_date: DF.Date | None to_date: DF.Date | None
total: DF.Currency total: DF.Currency
total_advance: DF.Currency total_advance: DF.Currency

View File

@@ -23,6 +23,8 @@
"is_subcontracted", "is_subcontracted",
"has_unit_price_items", "has_unit_price_items",
"supplier_warehouse", "supplier_warehouse",
"section_break_zymg",
"title",
"accounting_dimensions_section", "accounting_dimensions_section",
"cost_center", "cost_center",
"dimension_col_break", "dimension_col_break",
@@ -171,6 +173,14 @@
"fieldtype": "Section Break", "fieldtype": "Section Break",
"options": "fa fa-user" "options": "fa fa-user"
}, },
{
"allow_on_submit": 1,
"fieldname": "title",
"fieldtype": "Data",
"label": "Title",
"no_copy": 1,
"print_hide": 1
},
{ {
"fieldname": "naming_series", "fieldname": "naming_series",
"fieldtype": "Select", "fieldtype": "Select",
@@ -1309,6 +1319,10 @@
"fieldname": "auto_repeat_section", "fieldname": "auto_repeat_section",
"fieldtype": "Section Break", "fieldtype": "Section Break",
"label": "Auto Repeat" "label": "Auto Repeat"
},
{
"fieldname": "section_break_zymg",
"fieldtype": "Section Break"
} }
], ],
"grid_page_length": 50, "grid_page_length": 50,
@@ -1316,7 +1330,7 @@
"idx": 105, "idx": 105,
"is_submittable": 1, "is_submittable": 1,
"links": [], "links": [],
"modified": "2026-03-25 11:46:18.748951", "modified": "2026-03-30 12:17:43.342204",
"modified_by": "Administrator", "modified_by": "Administrator",
"module": "Buying", "module": "Buying",
"name": "Purchase Order", "name": "Purchase Order",

View File

@@ -160,6 +160,7 @@ class PurchaseOrder(BuyingController):
taxes_and_charges_deducted: DF.Currency taxes_and_charges_deducted: DF.Currency
tc_name: DF.Link | None tc_name: DF.Link | None
terms: DF.TextEditor | None terms: DF.TextEditor | None
title: DF.Data | None
to_date: DF.Date | None to_date: DF.Date | None
total: DF.Currency total: DF.Currency
total_net_weight: DF.Float total_net_weight: DF.Float

View File

@@ -16,6 +16,8 @@
"status", "status",
"has_unit_price_items", "has_unit_price_items",
"amended_from", "amended_from",
"section_break_trpf",
"title",
"suppliers_section", "suppliers_section",
"suppliers", "suppliers",
"items_section", "items_section",
@@ -371,6 +373,18 @@
"fieldtype": "Text Editor", "fieldtype": "Text Editor",
"label": "Shipping Address Details", "label": "Shipping Address Details",
"read_only": 1 "read_only": 1
},
{
"fieldname": "section_break_trpf",
"fieldtype": "Section Break"
},
{
"allow_on_submit": 1,
"fieldname": "title",
"fieldtype": "Data",
"label": "Title",
"no_copy": 1,
"print_hide": 1
} }
], ],
"grid_page_length": 50, "grid_page_length": 50,
@@ -378,7 +392,7 @@
"index_web_pages_for_search": 1, "index_web_pages_for_search": 1,
"is_submittable": 1, "is_submittable": 1,
"links": [], "links": [],
"modified": "2026-03-19 15:27:56.730649", "modified": "2026-03-30 12:18:08.451201",
"modified_by": "Administrator", "modified_by": "Administrator",
"module": "Buying", "module": "Buying",
"name": "Request for Quotation", "name": "Request for Quotation",
@@ -448,5 +462,6 @@
"show_name_in_global_search": 1, "show_name_in_global_search": 1,
"sort_field": "creation", "sort_field": "creation",
"sort_order": "DESC", "sort_order": "DESC",
"states": [] "states": [],
"title_field": "company"
} }

View File

@@ -64,6 +64,7 @@ class RequestforQuotation(BuyingController):
suppliers: DF.Table[RequestforQuotationSupplier] suppliers: DF.Table[RequestforQuotationSupplier]
tc_name: DF.Link | None tc_name: DF.Link | None
terms: DF.TextEditor | None terms: DF.TextEditor | None
title: DF.Data | None
transaction_date: DF.Date transaction_date: DF.Date
use_html: DF.Check use_html: DF.Check
vendor: DF.Link | None vendor: DF.Link | None

View File

@@ -9,7 +9,6 @@
"engine": "InnoDB", "engine": "InnoDB",
"field_order": [ "field_order": [
"supplier_section", "supplier_section",
"title",
"naming_series", "naming_series",
"supplier", "supplier",
"supplier_name", "supplier_name",
@@ -21,6 +20,8 @@
"quotation_number", "quotation_number",
"has_unit_price_items", "has_unit_price_items",
"amended_from", "amended_from",
"section_break_wwao",
"title",
"accounting_dimensions_section", "accounting_dimensions_section",
"cost_center", "cost_center",
"dimension_col_break", "dimension_col_break",
@@ -127,10 +128,9 @@
"options": "fa fa-user" "options": "fa fa-user"
}, },
{ {
"default": "{supplier_name}", "allow_on_submit": 1,
"fieldname": "title", "fieldname": "title",
"fieldtype": "Data", "fieldtype": "Data",
"hidden": 1,
"label": "Title", "label": "Title",
"no_copy": 1, "no_copy": 1,
"print_hide": 1, "print_hide": 1,
@@ -940,6 +940,10 @@
"fieldname": "auto_repeat_section", "fieldname": "auto_repeat_section",
"fieldtype": "Section Break", "fieldtype": "Section Break",
"label": "Auto Repeat" "label": "Auto Repeat"
},
{
"fieldname": "section_break_wwao",
"fieldtype": "Section Break"
} }
], ],
"grid_page_length": 50, "grid_page_length": 50,
@@ -948,7 +952,7 @@
"index_web_pages_for_search": 1, "index_web_pages_for_search": 1,
"is_submittable": 1, "is_submittable": 1,
"links": [], "links": [],
"modified": "2026-02-27 18:05:50.121391", "modified": "2026-03-30 12:18:35.777574",
"modified_by": "Administrator", "modified_by": "Administrator",
"module": "Buying", "module": "Buying",
"name": "Supplier Quotation", "name": "Supplier Quotation",
@@ -1016,5 +1020,5 @@
"sort_order": "DESC", "sort_order": "DESC",
"states": [], "states": [],
"timeline_field": "supplier", "timeline_field": "supplier",
"title_field": "title" "title_field": "supplier_name"
} }

View File

@@ -470,6 +470,7 @@ erpnext.patches.v16_0.add_portal_redirects
erpnext.patches.v16_0.update_order_qty_and_requested_qty_based_on_mr_and_po erpnext.patches.v16_0.update_order_qty_and_requested_qty_based_on_mr_and_po
erpnext.patches.v16_0.complete_onboarding_steps_for_older_sites #2 erpnext.patches.v16_0.complete_onboarding_steps_for_older_sites #2
erpnext.patches.v16_0.enable_serial_batch_setting erpnext.patches.v16_0.enable_serial_batch_setting
erpnext.patches.v16_0.correct_po_titles
erpnext.patches.v16_0.co_by_product_patch erpnext.patches.v16_0.co_by_product_patch
erpnext.patches.v16_0.update_requested_qty_packed_item erpnext.patches.v16_0.update_requested_qty_packed_item
erpnext.patches.v16_0.remove_payables_receivables_workspace erpnext.patches.v16_0.remove_payables_receivables_workspace

View File

@@ -0,0 +1,15 @@
import frappe
def execute():
"""
This patch corrects the titles of purchase orders that were set to
the text string "{supplier_name}" instead of the actual supplier name.
"""
purchase_order = frappe.qb.DocType("Purchase Order")
(
frappe.qb.update(purchase_order)
.set(purchase_order.title, purchase_order.supplier_name)
.where(purchase_order.title == "{supplier_name}")
).run()

View File

@@ -22,6 +22,8 @@
"company", "company",
"has_unit_price_items", "has_unit_price_items",
"amended_from", "amended_from",
"section_break_cojf",
"title",
"currency_and_price_list", "currency_and_price_list",
"currency", "currency",
"conversion_rate", "conversion_rate",
@@ -1130,13 +1132,25 @@
"fieldname": "auto_repeat_section", "fieldname": "auto_repeat_section",
"fieldtype": "Section Break", "fieldtype": "Section Break",
"label": "Auto Repeat" "label": "Auto Repeat"
},
{
"fieldname": "section_break_cojf",
"fieldtype": "Section Break"
},
{
"allow_on_submit": 1,
"fieldname": "title",
"fieldtype": "Data",
"label": "Title",
"no_copy": 1,
"print_hide": 1
} }
], ],
"icon": "fa fa-shopping-cart", "icon": "fa fa-shopping-cart",
"idx": 82, "idx": 82,
"is_submittable": 1, "is_submittable": 1,
"links": [], "links": [],
"modified": "2026-03-09 17:15:31.941114", "modified": "2026-03-30 12:19:04.589592",
"modified_by": "Administrator", "modified_by": "Administrator",
"module": "Selling", "module": "Selling",
"name": "Quotation", "name": "Quotation",

View File

@@ -113,6 +113,7 @@ class Quotation(SellingController):
tc_name: DF.Link | None tc_name: DF.Link | None
terms: DF.TextEditor | None terms: DF.TextEditor | None
territory: DF.Link | None territory: DF.Link | None
title: DF.Data | None
total: DF.Currency total: DF.Currency
total_net_weight: DF.Float total_net_weight: DF.Float
total_qty: DF.Float total_qty: DF.Float

View File

@@ -26,6 +26,8 @@
"has_unit_price_items", "has_unit_price_items",
"is_subcontracted", "is_subcontracted",
"amended_from", "amended_from",
"section_break_umok",
"title",
"accounting_dimensions_section", "accounting_dimensions_section",
"cost_center", "cost_center",
"dimension_col_break", "dimension_col_break",
@@ -1742,6 +1744,18 @@
"no_copy": 1, "no_copy": 1,
"print_hide": 1, "print_hide": 1,
"read_only": 1 "read_only": 1
},
{
"fieldname": "section_break_umok",
"fieldtype": "Section Break"
},
{
"allow_on_submit": 1,
"fieldname": "title",
"fieldtype": "Data",
"label": "Title",
"no_copy": 1,
"print_hide": 1
} }
], ],
"grid_page_length": 50, "grid_page_length": 50,
@@ -1749,7 +1763,7 @@
"idx": 105, "idx": 105,
"is_submittable": 1, "is_submittable": 1,
"links": [], "links": [],
"modified": "2026-03-04 18:04:05.873483", "modified": "2026-03-30 12:19:27.522646",
"modified_by": "Administrator", "modified_by": "Administrator",
"module": "Selling", "module": "Selling",
"name": "Sales Order", "name": "Sales Order",

View File

@@ -181,6 +181,7 @@ class SalesOrder(SellingController):
tc_name: DF.Link | None tc_name: DF.Link | None
terms: DF.TextEditor | None terms: DF.TextEditor | None
territory: DF.Link | None territory: DF.Link | None
title: DF.Data | None
to_date: DF.Date | None to_date: DF.Date | None
total: DF.Currency total: DF.Currency
total_commission: DF.Currency total_commission: DF.Currency

View File

@@ -22,6 +22,8 @@
"is_return", "is_return",
"issue_credit_note", "issue_credit_note",
"return_against", "return_against",
"section_break_bxkw",
"title",
"accounting_dimensions_section", "accounting_dimensions_section",
"cost_center", "cost_center",
"column_break_18", "column_break_18",
@@ -1450,13 +1452,25 @@
"fieldname": "auto_repeat_section", "fieldname": "auto_repeat_section",
"fieldtype": "Section Break", "fieldtype": "Section Break",
"label": "Auto Repeat" "label": "Auto Repeat"
},
{
"fieldname": "section_break_bxkw",
"fieldtype": "Section Break"
},
{
"allow_on_submit": 1,
"fieldname": "title",
"fieldtype": "Data",
"label": "Title",
"no_copy": 1,
"print_hide": 1
} }
], ],
"icon": "fa fa-truck", "icon": "fa fa-truck",
"idx": 146, "idx": 146,
"is_submittable": 1, "is_submittable": 1,
"links": [], "links": [],
"modified": "2026-03-09 17:15:27.932956", "modified": "2026-03-30 12:19:56.889644",
"modified_by": "Administrator", "modified_by": "Administrator",
"module": "Stock", "module": "Stock",
"name": "Delivery Note", "name": "Delivery Note",

View File

@@ -146,6 +146,7 @@ class DeliveryNote(SellingController):
tc_name: DF.Link | None tc_name: DF.Link | None
terms: DF.TextEditor | None terms: DF.TextEditor | None
territory: DF.Link | None territory: DF.Link | None
title: DF.Data | None
total: DF.Currency total: DF.Currency
total_commission: DF.Currency total_commission: DF.Currency
total_net_weight: DF.Float total_net_weight: DF.Float

View File

@@ -25,6 +25,8 @@
"apply_putaway_rule", "apply_putaway_rule",
"is_return", "is_return",
"return_against", "return_against",
"section_break_zwvg",
"title",
"accounting_dimensions_section", "accounting_dimensions_section",
"cost_center", "cost_center",
"dimension_col_break", "dimension_col_break",
@@ -170,6 +172,14 @@
"print_width": "50%", "print_width": "50%",
"width": "50%" "width": "50%"
}, },
{
"allow_on_submit": 1,
"fieldname": "title",
"fieldtype": "Data",
"label": "Title",
"no_copy": 1,
"print_hide": 1
},
{ {
"fieldname": "naming_series", "fieldname": "naming_series",
"fieldtype": "Select", "fieldtype": "Select",
@@ -1285,6 +1295,10 @@
{ {
"fieldname": "column_break_ugyv", "fieldname": "column_break_ugyv",
"fieldtype": "Column Break" "fieldtype": "Column Break"
},
{
"fieldname": "section_break_zwvg",
"fieldtype": "Section Break"
} }
], ],
"grid_page_length": 50, "grid_page_length": 50,