refactor: Better organizing of the fields in various doctypes

This commit is contained in:
Deepesh Garg
2026-02-04 11:18:09 +05:30
parent c7fd855092
commit 2f2e16fc33
7 changed files with 109 additions and 122 deletions

View File

@@ -101,11 +101,11 @@
"apply_discount_on",
"base_discount_amount",
"coupon_code",
"is_cash_or_non_trade_discount",
"additional_discount_account",
"column_break_51",
"additional_discount_percentage",
"discount_amount",
"is_cash_or_non_trade_discount",
"additional_discount_account",
"sec_tax_breakup",
"other_charges_calculation",
"item_wise_tax_details",
@@ -218,8 +218,7 @@
"update_auto_repeat_reference",
"more_information",
"status",
"inter_company_invoice_reference",
"represents_company",
"remarks",
"customer_group",
"column_break_imbx",
"utm_source",
@@ -228,8 +227,9 @@
"utm_content",
"col_break23",
"is_internal_customer",
"represents_company",
"inter_company_invoice_reference",
"is_discounted",
"remarks",
"connections_tab"
],
"fields": [
@@ -794,7 +794,8 @@
"hide_seconds": 1,
"label": "Time Sheets",
"options": "Sales Invoice Timesheet",
"print_hide": 1
"print_hide": 1,
"read_only": 1
},
{
"default": "0",
@@ -2306,7 +2307,7 @@
"link_fieldname": "consolidated_invoice"
}
],
"modified": "2026-01-30 16:45:59.682473",
"modified": "2026-02-02 17:21:09.768833",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Sales Invoice",

View File

@@ -62,23 +62,18 @@ class SalesInvoice(SellingController):
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from frappe.types import DF
from erpnext.accounts.doctype.item_wise_tax_detail.item_wise_tax_detail import ItemWiseTaxDetail
from erpnext.accounts.doctype.payment_schedule.payment_schedule import PaymentSchedule
from erpnext.accounts.doctype.pricing_rule_detail.pricing_rule_detail import PricingRuleDetail
from erpnext.accounts.doctype.sales_invoice_advance.sales_invoice_advance import SalesInvoiceAdvance
from erpnext.accounts.doctype.sales_invoice_item.sales_invoice_item import SalesInvoiceItem
from erpnext.accounts.doctype.sales_invoice_payment.sales_invoice_payment import SalesInvoicePayment
from erpnext.accounts.doctype.sales_invoice_timesheet.sales_invoice_timesheet import (
SalesInvoiceTimesheet,
)
from erpnext.accounts.doctype.sales_taxes_and_charges.sales_taxes_and_charges import (
SalesTaxesandCharges,
)
from erpnext.accounts.doctype.sales_invoice_timesheet.sales_invoice_timesheet import SalesInvoiceTimesheet
from erpnext.accounts.doctype.sales_taxes_and_charges.sales_taxes_and_charges import SalesTaxesandCharges
from erpnext.accounts.doctype.tax_withholding_entry.tax_withholding_entry import TaxWithholdingEntry
from erpnext.selling.doctype.sales_team.sales_team import SalesTeam
from erpnext.stock.doctype.packed_item.packed_item import PackedItem
from frappe.types import DF
account_for_change_amount: DF.Link | None
additional_discount_account: DF.Link | None
@@ -198,22 +193,7 @@ class SalesInvoice(SellingController):
shipping_address: DF.TextEditor | None
shipping_address_name: DF.Link | None
shipping_rule: DF.Link | None
status: DF.Literal[
"",
"Draft",
"Return",
"Credit Note Issued",
"Submitted",
"Paid",
"Partly Paid",
"Unpaid",
"Unpaid and Discounted",
"Partly Paid and Discounted",
"Overdue and Discounted",
"Overdue",
"Cancelled",
"Internal Transfer",
]
status: DF.Literal["", "Draft", "Return", "Credit Note Issued", "Submitted", "Paid", "Partly Paid", "Unpaid", "Unpaid and Discounted", "Partly Paid and Discounted", "Overdue and Discounted", "Overdue", "Cancelled", "Internal Transfer"]
subscription: DF.Link | None
tax_category: DF.Link | None
tax_id: DF.Data | None

View File

@@ -1009,7 +1009,7 @@
"idx": 1,
"istable": 1,
"links": [],
"modified": "2025-09-04 11:08:25.583561",
"modified": "2026-02-02 16:46:12.597972",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Sales Invoice Item",

View File

@@ -12,10 +12,11 @@
"field_order": [
"naming_series",
"supplier_name",
"country",
"supplier_type",
"gender",
"column_break0",
"supplier_group",
"supplier_type",
"country",
"is_transporter",
"image",
"defaults_section",
@@ -62,8 +63,8 @@
"allow_purchase_invoice_creation_without_purchase_order",
"allow_purchase_invoice_creation_without_purchase_receipt",
"column_break_54",
"is_frozen",
"disabled",
"is_frozen",
"warn_rfqs",
"warn_pos",
"prevent_rfqs",
@@ -74,8 +75,7 @@
"column_break_59",
"release_date",
"portal_users_tab",
"portal_users",
"column_break_1mqv"
"portal_users"
],
"fields": [
{
@@ -468,10 +468,6 @@
"label": "Supplier Portal Users",
"options": "Portal User"
},
{
"fieldname": "column_break_1mqv",
"fieldtype": "Column Break"
},
{
"fieldname": "column_break_mglr",
"fieldtype": "Column Break"
@@ -487,6 +483,13 @@
"fieldtype": "Link",
"label": "Tax Withholding Group",
"options": "Tax Withholding Group"
},
{
"depends_on": "eval:doc.supplier_type == 'Individual'",
"fieldname": "gender",
"fieldtype": "Link",
"label": "Gender",
"options": "Gender"
}
],
"grid_page_length": 50,
@@ -500,7 +503,7 @@
"link_fieldname": "party"
}
],
"modified": "2026-01-16 15:56:31.139206",
"modified": "2026-02-02 12:36:51.566439",
"modified_by": "Administrator",
"module": "Buying",
"name": "Supplier",

View File

@@ -27,16 +27,11 @@ class Supplier(TransactionBase):
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from frappe.types import DF
from erpnext.accounts.doctype.allowed_to_transact_with.allowed_to_transact_with import (
AllowedToTransactWith,
)
from erpnext.accounts.doctype.allowed_to_transact_with.allowed_to_transact_with import AllowedToTransactWith
from erpnext.accounts.doctype.party_account.party_account import PartyAccount
from erpnext.buying.doctype.customer_number_at_supplier.customer_number_at_supplier import (
CustomerNumberAtSupplier,
)
from erpnext.buying.doctype.customer_number_at_supplier.customer_number_at_supplier import CustomerNumberAtSupplier
from erpnext.utilities.doctype.portal_user.portal_user import PortalUser
from frappe.types import DF
accounts: DF.Table[PartyAccount]
allow_purchase_invoice_creation_without_purchase_order: DF.Check
@@ -49,6 +44,7 @@ class Supplier(TransactionBase):
default_price_list: DF.Link | None
disabled: DF.Check
email_id: DF.ReadOnly | None
gender: DF.Link | None
hold_type: DF.Literal["", "All", "Invoices", "Payments"]
image: DF.AttachImage | None
is_frozen: DF.Check

View File

@@ -12,38 +12,18 @@
"field_order": [
"basic_info",
"naming_series",
"salutation",
"customer_name",
"customer_type",
"customer_group",
"column_break0",
"territory",
"customer_name",
"gender",
"lead_name",
"opportunity_name",
"prospect_name",
"account_manager",
"column_break0",
"customer_group",
"territory",
"image",
"defaults_tab",
"default_currency",
"default_bank_account",
"column_break_14",
"default_price_list",
"internal_customer_section",
"is_internal_customer",
"represents_company",
"column_break_70",
"companies",
"more_info",
"market_segment",
"industry",
"customer_pos_id",
"website",
"language",
"column_break_45",
"customer_details",
"supplier_numbers",
"dashboard_tab",
"contact_and_address_tab",
"address_contacts",
"address_html",
@@ -67,16 +47,22 @@
"tax_withholding_category",
"tax_withholding_group",
"accounting_tab",
"default_receivable_accounts",
"accounts",
"credit_limit_section",
"payment_terms",
"credit_limits",
"default_receivable_accounts",
"accounts",
"internal_customer_section",
"is_internal_customer",
"represents_company",
"column_break_70",
"companies",
"loyalty_points_tab",
"loyalty_program",
"column_break_54",
"loyalty_program_tier",
"sales_team_tab",
"account_manager",
"sales_team",
"sales_team_section",
"default_sales_partner",
@@ -86,10 +72,27 @@
"so_required",
"dn_required",
"column_break_53",
"is_frozen",
"disabled",
"is_frozen",
"portal_users_tab",
"portal_users"
"portal_users",
"more_info_tab",
"references_section",
"lead_name",
"opportunity_name",
"column_break_wlbg",
"prospect_name",
"section_break_objq",
"market_segment",
"industry",
"website",
"language",
"customer_pos_id",
"column_break_hdmn",
"customer_details",
"supplier_numbers_section",
"supplier_numbers",
"connections_tab"
],
"fields": [
{
@@ -106,13 +109,6 @@
"options": "CUST-.YYYY.-",
"set_only_once": 1
},
{
"depends_on": "eval:doc.customer_type!='Company'",
"fieldname": "salutation",
"fieldtype": "Link",
"label": "Salutation",
"options": "Salutation"
},
{
"bold": 1,
"fieldname": "customer_name",
@@ -126,7 +122,7 @@
"search_index": 1
},
{
"depends_on": "eval:doc.customer_type != 'Company'",
"depends_on": "eval:doc.customer_type == 'Individual'",
"fieldname": "gender",
"fieldtype": "Link",
"label": "Gender",
@@ -151,12 +147,13 @@
{
"fieldname": "lead_name",
"fieldtype": "Link",
"label": "From Lead",
"label": "Lead",
"no_copy": 1,
"oldfieldname": "lead_name",
"oldfieldtype": "Link",
"options": "Lead",
"print_hide": 1,
"read_only": 1,
"report_hide": 1
},
{
@@ -363,15 +360,6 @@
"label": "Default Payment Terms Template",
"options": "Payment Terms Template"
},
{
"collapsible": 1,
"collapsible_depends_on": "customer_details",
"fieldname": "more_info",
"fieldtype": "Section Break",
"label": "More Information",
"oldfieldtype": "Section Break",
"options": "fa fa-file-text"
},
{
"description": "Additional information regarding the customer.",
"fieldname": "customer_details",
@@ -380,10 +368,6 @@
"oldfieldname": "customer_details",
"oldfieldtype": "Code"
},
{
"fieldname": "column_break_45",
"fieldtype": "Column Break"
},
{
"fieldname": "market_segment",
"fieldtype": "Link",
@@ -449,7 +433,7 @@
{
"fieldname": "customer_pos_id",
"fieldtype": "Data",
"label": "Customer POS id",
"label": "Customer POS ID",
"no_copy": 1,
"print_hide": 1,
"read_only": 1,
@@ -482,10 +466,11 @@
{
"fieldname": "opportunity_name",
"fieldtype": "Link",
"label": "From Opportunity",
"label": "Opportunity",
"no_copy": 1,
"options": "Opportunity",
"print_hide": 1
"print_hide": 1,
"read_only": 1
},
{
"fieldname": "contact_and_address_tab",
@@ -519,12 +504,6 @@
"fieldname": "column_break_21",
"fieldtype": "Column Break"
},
{
"fieldname": "dashboard_tab",
"fieldtype": "Tab Break",
"label": "Dashboard",
"show_dashboard": 1
},
{
"fieldname": "column_break_53",
"fieldtype": "Column Break"
@@ -554,7 +533,7 @@
"collapsible_depends_on": "is_internal_customer",
"fieldname": "internal_customer_section",
"fieldtype": "Section Break",
"label": "Internal Customer"
"label": "Internal Customer Accounting"
},
{
"fieldname": "column_break_70",
@@ -582,10 +561,11 @@
{
"fieldname": "prospect_name",
"fieldtype": "Link",
"label": "From Prospect",
"label": "Prospect",
"no_copy": 1,
"options": "Prospect",
"print_hide": 1
"print_hide": 1,
"read_only": 1
},
{
"fetch_from": "customer_primary_contact.first_name",
@@ -613,6 +593,39 @@
"fieldtype": "Link",
"label": "Tax Withholding Group",
"options": "Tax Withholding Group"
},
{
"fieldname": "more_info_tab",
"fieldtype": "Tab Break",
"label": "More Info"
},
{
"fieldname": "references_section",
"fieldtype": "Section Break",
"label": "References"
},
{
"fieldname": "column_break_wlbg",
"fieldtype": "Column Break"
},
{
"fieldname": "section_break_objq",
"fieldtype": "Section Break"
},
{
"fieldname": "column_break_hdmn",
"fieldtype": "Column Break"
},
{
"fieldname": "connections_tab",
"fieldtype": "Tab Break",
"label": "Connections",
"show_dashboard": 1
},
{
"fieldname": "supplier_numbers_section",
"fieldtype": "Section Break",
"label": "Supplier Numbers"
}
],
"icon": "fa fa-user",
@@ -626,7 +639,7 @@
"link_fieldname": "party"
}
],
"modified": "2026-01-21 17:23:42.151114",
"modified": "2026-02-02 15:39:55.920831",
"modified_by": "Administrator",
"module": "Selling",
"name": "Customer",

View File

@@ -34,18 +34,13 @@ class Customer(TransactionBase):
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from frappe.types import DF
from erpnext.accounts.doctype.allowed_to_transact_with.allowed_to_transact_with import (
AllowedToTransactWith,
)
from erpnext.accounts.doctype.allowed_to_transact_with.allowed_to_transact_with import AllowedToTransactWith
from erpnext.accounts.doctype.party_account.party_account import PartyAccount
from erpnext.selling.doctype.customer_credit_limit.customer_credit_limit import CustomerCreditLimit
from erpnext.selling.doctype.sales_team.sales_team import SalesTeam
from erpnext.selling.doctype.supplier_number_at_customer.supplier_number_at_customer import (
SupplierNumberAtCustomer,
)
from erpnext.selling.doctype.supplier_number_at_customer.supplier_number_at_customer import SupplierNumberAtCustomer
from erpnext.utilities.doctype.portal_user.portal_user import PortalUser
from frappe.types import DF
account_manager: DF.Link | None
accounts: DF.Table[PartyAccount]
@@ -87,7 +82,6 @@ class Customer(TransactionBase):
prospect_name: DF.Link | None
represents_company: DF.Link | None
sales_team: DF.Table[SalesTeam]
salutation: DF.Link | None
so_required: DF.Check
supplier_numbers: DF.Table[SupplierNumberAtCustomer]
tax_category: DF.Link | None