From 31cb8c9dfdf78b772f582700f709d4af6ec49876 Mon Sep 17 00:00:00 2001 From: Neha Fathima Date: Tue, 2 Jun 2026 10:54:59 +0530 Subject: [PATCH] feat: sf trading cutsomization --- sf_trading/api/customer_override.py | 32 + sf_trading/api/sales_invoice_override.py | 65 + sf_trading/api/sales_invoice_payment.py | 44 + sf_trading/fixtures/custom_field.json | 359 ++++- sf_trading/fixtures/property_setter.json | 276 +++- sf_trading/fixtures/report.json | 18 +- sf_trading/hooks.py | 190 ++- .../js/sales_invoice_pos_total_popup.js | 64 +- sf_trading/sales_invoice_override.py | 19 - sf_trading/sf_trading/custom/customer.json | 228 +++ sf_trading/sf_trading/custom/packed_item.json | 32 + .../sf_trading/custom/purchase_invoice.json | 1306 +++++++++++++++++ .../custom/purchase_invoice_item.json | 32 + sf_trading/sf_trading/custom/quotation.json | 1053 +++++++++++++ 14 files changed, 3683 insertions(+), 35 deletions(-) create mode 100644 sf_trading/api/customer_override.py create mode 100644 sf_trading/api/sales_invoice_override.py delete mode 100644 sf_trading/sales_invoice_override.py create mode 100644 sf_trading/sf_trading/custom/customer.json create mode 100644 sf_trading/sf_trading/custom/packed_item.json create mode 100644 sf_trading/sf_trading/custom/purchase_invoice.json create mode 100644 sf_trading/sf_trading/custom/purchase_invoice_item.json create mode 100644 sf_trading/sf_trading/custom/quotation.json diff --git a/sf_trading/api/customer_override.py b/sf_trading/api/customer_override.py new file mode 100644 index 0000000..6fc0e70 --- /dev/null +++ b/sf_trading/api/customer_override.py @@ -0,0 +1,32 @@ +""" +Customer overrides: require attachment when VAT Registration Number is set. +""" + +from __future__ import annotations + +import frappe +from frappe import _ + + +def validate(doc, _method=None): + """Require at least one attachment when the customer has a VAT Registration Number.""" + vat_number = frappe.utils.cstr(doc.get("custom_vat_registration_number") or "").strip() + if not vat_number or vat_number == "0": + return + + # Skip on first save — attachment section only appears after the doc exists + if doc.flags.get("in_insert"): + return + + attachments = frappe.get_all( + "File", + filters={"attached_to_doctype": "Customer", "attached_to_name": doc.name}, + limit=1, + ) + if not attachments: + frappe.throw( + _( + "Customer {0} has a VAT Registration Number ({1}). " + "Please attach the required VAT document before saving." + ).format(doc.customer_name or doc.name, vat_number) + ) diff --git a/sf_trading/api/sales_invoice_override.py b/sf_trading/api/sales_invoice_override.py new file mode 100644 index 0000000..13a48ad --- /dev/null +++ b/sf_trading/api/sales_invoice_override.py @@ -0,0 +1,65 @@ +""" +Sales Invoice overrides: remove empty item rows before validation (barcode scanner scan row). +""" + +from __future__ import annotations + +import frappe +from frappe import _ +from frappe.utils import today + + +def before_validate(doc, _method=None): + """Remove item rows that have no item_code (leftover scan row from barcode). Runs before validation.""" + if not doc.get("items"): + frappe.throw(_("Please add at least one item before saving.")) + + # Remove in reverse so indices stay valid + to_remove = [row for row in doc.items if not (row.get("item_code") or "").strip()] + for row in to_remove: + doc.remove(row) + for i, row in enumerate(doc.items, start=1): + row.idx = i + + if not doc.items: + frappe.throw(_("Please add at least one item before saving.")) + + +def validate(doc, _method=None): + """Block new credit invoice if customer has overdue unsettled credit (> 30 days).""" + if doc.custom_payment_mode != "Credit": + return + if not doc.customer: + return + + overdue = frappe.db.sql( + """ + SELECT name, posting_date, outstanding_amount + FROM `tabSales Invoice` + WHERE customer = %s + AND company = %s + AND custom_payment_mode = 'Credit' + AND docstatus = 1 + AND outstanding_amount > 0 + AND DATEDIFF(%s, posting_date) > 30 + LIMIT 1 + """, + (doc.customer, doc.company, today()), + as_dict=True, + ) + + if overdue: + inv = overdue[0] + frappe.throw( + _( + "Cannot create a new credit invoice for {0}. " + "Invoice {1} dated {2} has an outstanding amount of {3} " + "that is more than 30 days overdue. " + "Please settle the outstanding balance first." + ).format( + doc.customer, + inv.name, + inv.posting_date, + frappe.utils.fmt_money(inv.outstanding_amount, currency=doc.currency), + ) + ) diff --git a/sf_trading/api/sales_invoice_payment.py b/sf_trading/api/sales_invoice_payment.py index 73af6c8..a7f810d 100644 --- a/sf_trading/api/sales_invoice_payment.py +++ b/sf_trading/api/sales_invoice_payment.py @@ -2,6 +2,50 @@ import frappe from frappe import _ +from frappe.utils import flt + + +@frappe.whitelist() +def get_available_credit(customer: str, company: str) -> float: + """ + Return the available credit for a customer: + credit_limit (from Customer Credit Limit child table) + minus sum of outstanding_amount on submitted Sales Invoices + where custom_payment_mode = 'Credit'. + """ + if not customer or not company: + return 0.0 + + # Credit limit defined on Customer for this company + row = frappe.db.get_value( + "Customer Credit Limit", + {"parent": customer, "company": company}, + "credit_limit", + ) + if row is None: + # Fallback: first credit limit regardless of company + row = frappe.db.get_value( + "Customer Credit Limit", + {"parent": customer}, + "credit_limit", + ) + credit_limit = flt(row) + if not credit_limit: + return 0.0 + + used = frappe.db.sql( + """ + SELECT IFNULL(SUM(grand_total), 0) + FROM `tabSales Invoice` + WHERE customer = %s + AND company = %s + AND custom_payment_mode = 'Credit' + AND docstatus = 1 + """, + (customer, company), + )[0][0] + + return max(0.0, flt(credit_limit) - flt(used)) @frappe.whitelist() diff --git a/sf_trading/fixtures/custom_field.json b/sf_trading/fixtures/custom_field.json index cd8a7ff..2d17c8a 100644 --- a/sf_trading/fixtures/custom_field.json +++ b/sf_trading/fixtures/custom_field.json @@ -1,4 +1,61 @@ [ + { + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "default": null, + "depends_on": null, + "description": null, + "docstatus": 0, + "doctype": "Custom Field", + "dt": "Customer", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "custom_vat_registration_number", + "fieldtype": "Int", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_preview": 0, + "in_standard_filter": 0, + "insert_after": "customer_group", + "is_system_generated": 0, + "is_virtual": 0, + "label": "Vat Registration Number", + "length": 0, + "link_filters": null, + "mandatory_depends_on": null, + "modified": "2026-06-01 10:50:04.329972", + "module": null, + "name": "Customer-custom_vat_registration_number", + "no_copy": 0, + "non_negative": 0, + "options": null, + "permlevel": 0, + "placeholder": null, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "print_width": null, + "read_only": 0, + "read_only_depends_on": null, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "show_dashboard": 0, + "sort_options": 0, + "translatable": 0, + "unique": 0, + "width": null + }, { "allow_in_quick_entry": 0, "allow_on_submit": 0, @@ -56,6 +113,234 @@ "unique": 0, "width": null }, + { + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "default": null, + "depends_on": "eval:doc.custom_payment_mode === 'Credit'", + "description": null, + "docstatus": 0, + "doctype": "Custom Field", + "dt": "Sales Invoice", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "custom_credit_limit", + "fieldtype": "Currency", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_preview": 0, + "in_standard_filter": 0, + "insert_after": "due_date", + "is_system_generated": 0, + "is_virtual": 0, + "label": "Credit Limit", + "length": 0, + "link_filters": null, + "mandatory_depends_on": null, + "modified": "2026-06-01 12:10:42.188424", + "module": "Sf Trading", + "name": "Sales Invoice-custom_credit_limit", + "no_copy": 1, + "non_negative": 0, + "options": null, + "permlevel": 0, + "placeholder": null, + "precision": null, + "print_hide": 1, + "print_hide_if_no_value": 0, + "print_width": null, + "read_only": 1, + "read_only_depends_on": null, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "show_dashboard": 0, + "sort_options": 0, + "translatable": 0, + "unique": 0, + "width": null + }, + { + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "default": null, + "depends_on": null, + "description": null, + "docstatus": 0, + "doctype": "Custom Field", + "dt": "Sales Invoice", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "custom_payment_mode", + "fieldtype": "Select", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_preview": 0, + "in_standard_filter": 0, + "insert_after": "due_date", + "is_system_generated": 0, + "is_virtual": 0, + "label": "Payment Mode", + "length": 0, + "link_filters": null, + "mandatory_depends_on": null, + "modified": "2026-05-27 17:59:59.171010", + "module": null, + "name": "Sales Invoice-custom_payment_mode", + "no_copy": 0, + "non_negative": 0, + "options": "Cash\nCredit\n", + "permlevel": 0, + "placeholder": null, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "print_width": null, + "read_only": 0, + "read_only_depends_on": null, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "show_dashboard": 0, + "sort_options": 0, + "translatable": 1, + "unique": 0, + "width": null + }, + { + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "default": null, + "depends_on": null, + "description": null, + "docstatus": 0, + "doctype": "Custom Field", + "dt": "Sales Invoice", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "custom_contact_expairy_date", + "fieldtype": "Date", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_preview": 0, + "in_standard_filter": 0, + "insert_after": "project", + "is_system_generated": 0, + "is_virtual": 0, + "label": "Contact Expiry Date", + "length": 0, + "link_filters": null, + "mandatory_depends_on": null, + "modified": "2026-06-02 10:50:33.544597", + "module": null, + "name": "Sales Invoice-custom_contact_expairy_date", + "no_copy": 0, + "non_negative": 0, + "options": null, + "permlevel": 0, + "placeholder": null, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "print_width": null, + "read_only": 0, + "read_only_depends_on": null, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "show_dashboard": 0, + "sort_options": 0, + "translatable": 0, + "unique": 0, + "width": null + }, + { + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "default": null, + "depends_on": null, + "description": null, + "docstatus": 0, + "doctype": "Custom Field", + "dt": "Sales Invoice", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "custom_vat__expairy_date", + "fieldtype": "Date", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_preview": 0, + "in_standard_filter": 0, + "insert_after": "custom_contact_expairy_date", + "is_system_generated": 0, + "is_virtual": 0, + "label": "Vat Expiry Date", + "length": 0, + "link_filters": null, + "mandatory_depends_on": null, + "modified": "2026-06-02 10:49:38.608135", + "module": null, + "name": "Sales Invoice-custom_vat__expairy_date", + "no_copy": 0, + "non_negative": 0, + "options": null, + "permlevel": 0, + "placeholder": null, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "print_width": null, + "read_only": 0, + "read_only_depends_on": null, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "show_dashboard": 0, + "sort_options": 0, + "translatable": 0, + "unique": 0, + "width": null + }, { "allow_in_quick_entry": 0, "allow_on_submit": 0, @@ -90,7 +375,7 @@ "length": 0, "link_filters": null, "mandatory_depends_on": null, - "modified": "2026-05-04 17:38:13.257201", + "modified": "2026-06-01 12:10:41.985706", "module": "Sf Trading", "name": "Sales Invoice-inter_company_branch", "no_copy": 0, @@ -112,5 +397,75 @@ "translatable": 0, "unique": 0, "width": null + }, + { + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "default": "Credit", + "depends_on": null, + "description": "Cash = paid on or before invoice date; Credit = paid later. Set automatically.", + "docstatus": 0, + "doctype": "Custom Field", + "dt": "Sales Invoice", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "custom_sale_type", + "fieldtype": "Select", + "hidden": 1, + "hide_border": 0, + "ignore_user_permissions": 0, + "in_list_view": 0, + "in_standard_filter": 0, + "insert_after": "inter_company_branch", + "is_system_generated": 0, + "label": "Sale Type", + "module": "Sf Trading", + "name": "Sales Invoice-custom_sale_type", + "no_copy": 0, + "options": "Cash\nCredit", + "permlevel": 0, + "read_only": 1, + "reqd": 0, + "translatable": 0, + "unique": 0 + }, + { + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 1, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "default": null, + "depends_on": null, + "description": "Shows Pending Approval when a linked Purchase Invoice is awaiting manager approval", + "docstatus": 0, + "doctype": "Custom Field", + "dt": "Purchase Receipt", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "custom_billing_approval_status", + "fieldtype": "Data", + "hidden": 0, + "hide_border": 0, + "ignore_user_permissions": 0, + "in_list_view": 1, + "in_standard_filter": 0, + "insert_after": "status", + "is_system_generated": 0, + "label": "Billing Approval Status", + "module": "Sf Trading", + "name": "Purchase Receipt-custom_billing_approval_status", + "no_copy": 0, + "options": null, + "permlevel": 0, + "read_only": 1, + "reqd": 0, + "translatable": 0, + "unique": 0 } -] \ No newline at end of file +] diff --git a/sf_trading/fixtures/property_setter.json b/sf_trading/fixtures/property_setter.json index 62db3bc..c975497 100644 --- a/sf_trading/fixtures/property_setter.json +++ b/sf_trading/fixtures/property_setter.json @@ -1,4 +1,276 @@ [ + { + "default_value": null, + "doc_type": "Quotation", + "docstatus": 0, + "doctype": "Property Setter", + "doctype_or_field": "DocField", + "field_name": "base_rounded_total", + "is_system_generated": 1, + "modified": "2026-05-27 11:02:06.315019", + "module": null, + "name": "Quotation-base_rounded_total-hidden", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "0" + }, + { + "default_value": null, + "doc_type": "Quotation", + "docstatus": 0, + "doctype": "Property Setter", + "doctype_or_field": "DocField", + "field_name": "base_rounded_total", + "is_system_generated": 1, + "modified": "2026-05-27 11:02:06.743020", + "module": null, + "name": "Quotation-base_rounded_total-print_hide", + "property": "print_hide", + "property_type": "Check", + "row_name": null, + "value": "1" + }, + { + "default_value": null, + "doc_type": "Quotation", + "docstatus": 0, + "doctype": "Property Setter", + "doctype_or_field": "DocField", + "field_name": "rounded_total", + "is_system_generated": 1, + "modified": "2026-05-27 11:02:06.768874", + "module": null, + "name": "Quotation-rounded_total-hidden", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "0" + }, + { + "default_value": null, + "doc_type": "Quotation", + "docstatus": 0, + "doctype": "Property Setter", + "doctype_or_field": "DocField", + "field_name": "rounded_total", + "is_system_generated": 1, + "modified": "2026-05-27 11:02:06.790995", + "module": null, + "name": "Quotation-rounded_total-print_hide", + "property": "print_hide", + "property_type": "Check", + "row_name": null, + "value": "0" + }, + { + "default_value": null, + "doc_type": "Quotation", + "docstatus": 0, + "doctype": "Property Setter", + "doctype_or_field": "DocField", + "field_name": "disable_rounded_total", + "is_system_generated": 1, + "modified": "2026-05-27 11:02:06.819025", + "module": null, + "name": "Quotation-disable_rounded_total-default", + "property": "default", + "property_type": "Text", + "row_name": null, + "value": "0" + }, + { + "default_value": null, + "doc_type": "Sales Order", + "docstatus": 0, + "doctype": "Property Setter", + "doctype_or_field": "DocField", + "field_name": "base_rounded_total", + "is_system_generated": 1, + "modified": "2026-05-27 11:02:06.843007", + "module": null, + "name": "Sales Order-base_rounded_total-hidden", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "0" + }, + { + "default_value": null, + "doc_type": "Sales Order", + "docstatus": 0, + "doctype": "Property Setter", + "doctype_or_field": "DocField", + "field_name": "rounded_total", + "is_system_generated": 1, + "modified": "2026-05-27 11:02:06.881487", + "module": null, + "name": "Sales Order-rounded_total-hidden", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "0" + }, + { + "default_value": null, + "doc_type": "Purchase Invoice", + "docstatus": 0, + "doctype": "Property Setter", + "doctype_or_field": "DocField", + "field_name": "base_rounded_total", + "is_system_generated": 1, + "modified": "2026-05-27 11:02:07.389036", + "module": null, + "name": "Purchase Invoice-base_rounded_total-hidden", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "0" + }, + { + "default_value": null, + "doc_type": "Purchase Invoice", + "docstatus": 0, + "doctype": "Property Setter", + "doctype_or_field": "DocField", + "field_name": "rounded_total", + "is_system_generated": 1, + "modified": "2026-05-27 11:02:07.440593", + "module": null, + "name": "Purchase Invoice-rounded_total-hidden", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "0" + }, + { + "default_value": null, + "doc_type": "Purchase Receipt", + "docstatus": 0, + "doctype": "Property Setter", + "doctype_or_field": "DocField", + "field_name": "base_rounded_total", + "is_system_generated": 1, + "modified": "2026-05-27 11:02:07.502875", + "module": null, + "name": "Purchase Receipt-base_rounded_total-hidden", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "0" + }, + { + "default_value": null, + "doc_type": "Purchase Receipt", + "docstatus": 0, + "doctype": "Property Setter", + "doctype_or_field": "DocField", + "field_name": "rounded_total", + "is_system_generated": 1, + "modified": "2026-05-27 11:02:07.552924", + "module": null, + "name": "Purchase Receipt-rounded_total-hidden", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "0" + }, + { + "default_value": null, + "doc_type": "Quotation", + "docstatus": 0, + "doctype": "Property Setter", + "doctype_or_field": "DocField", + "field_name": "in_words", + "is_system_generated": 1, + "modified": "2026-05-27 11:02:07.621001", + "module": null, + "name": "Quotation-in_words-hidden", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "0" + }, + { + "default_value": null, + "doc_type": "Quotation", + "docstatus": 0, + "doctype": "Property Setter", + "doctype_or_field": "DocField", + "field_name": "in_words", + "is_system_generated": 1, + "modified": "2026-05-27 11:02:07.639659", + "module": null, + "name": "Quotation-in_words-print_hide", + "property": "print_hide", + "property_type": "Check", + "row_name": null, + "value": "0" + }, + { + "default_value": null, + "doc_type": "Sales Order", + "docstatus": 0, + "doctype": "Property Setter", + "doctype_or_field": "DocField", + "field_name": "in_words", + "is_system_generated": 1, + "modified": "2026-05-27 11:02:07.658110", + "module": null, + "name": "Sales Order-in_words-hidden", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "0" + }, + { + "default_value": null, + "doc_type": "Purchase Invoice", + "docstatus": 0, + "doctype": "Property Setter", + "doctype_or_field": "DocField", + "field_name": "in_words", + "is_system_generated": 1, + "modified": "2026-05-27 11:02:07.875691", + "module": null, + "name": "Purchase Invoice-in_words-hidden", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "0" + }, + { + "default_value": null, + "doc_type": "Purchase Receipt", + "docstatus": 0, + "doctype": "Property Setter", + "doctype_or_field": "DocField", + "field_name": "in_words", + "is_system_generated": 1, + "modified": "2026-05-27 11:02:07.914667", + "module": null, + "name": "Purchase Receipt-in_words-hidden", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "0" + }, + { + "default_value": null, + "doc_type": "Quotation", + "docstatus": 0, + "doctype": "Property Setter", + "doctype_or_field": "DocField", + "field_name": "scan_barcode", + "is_system_generated": 1, + "modified": "2026-05-27 11:02:10.757054", + "module": null, + "name": "Quotation-scan_barcode-hidden", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "0" + }, { "default_value": null, "doc_type": "Sales Invoice Item", @@ -7,7 +279,7 @@ "doctype_or_field": "DocField", "field_name": "barcode", "is_system_generated": 0, - "modified": "2026-05-04 17:38:15.245578", + "modified": "2026-06-01 12:10:42.469324", "module": "Sf Trading", "name": "Sales Invoice Item-barcode-in_list_view", "property": "in_list_view", @@ -15,4 +287,4 @@ "row_name": null, "value": "1" } -] \ No newline at end of file +] diff --git a/sf_trading/fixtures/report.json b/sf_trading/fixtures/report.json index 3774fc2..bce80e1 100644 --- a/sf_trading/fixtures/report.json +++ b/sf_trading/fixtures/report.json @@ -55,12 +55,12 @@ "javascript": null, "json": null, "letter_head": null, - "modified": "2026-02-11 23:38:16.427918", - "module": "Accounts", + "modified": "2026-01-22 14:17:47.939758", + "module": "Sf Trading", "name": "DCR Report", "prepared_report": 0, "query": null, - "ref_doctype": "GL Entry", + "ref_doctype": "Sales Invoice", "reference_report": null, "report_name": "DCR Report", "report_script": null, @@ -70,21 +70,27 @@ "parent": "DCR Report", "parentfield": "roles", "parenttype": "Report", - "role": "Accounts User" + "role": "Accounts Manager" }, { "parent": "DCR Report", "parentfield": "roles", "parenttype": "Report", - "role": "Accounts Manager" + "role": "Accounts User" }, { "parent": "DCR Report", "parentfield": "roles", "parenttype": "Report", "role": "Auditor" + }, + { + "parent": "DCR Report", + "parentfield": "roles", + "parenttype": "Report", + "role": "System Manager" } ], "timeout": 0 } -] \ No newline at end of file +] diff --git a/sf_trading/hooks.py b/sf_trading/hooks.py index 0b669e8..50e8adb 100644 --- a/sf_trading/hooks.py +++ b/sf_trading/hooks.py @@ -149,8 +149,12 @@ # Hook on document methods and events doc_events = { + "Customer": { + "validate": "sf_trading.api.customer_override.validate", + }, "Sales Invoice": { - "before_validate": "sf_trading.sales_invoice_override.before_validate", + "before_validate": "sf_trading.api.sales_invoice_override.before_validate", + "validate": "sf_trading.api.sales_invoice_override.validate", "on_submit": "sf_trading.inter_company.sales_invoice_on_submit", }, "Purchase Invoice": { @@ -271,6 +275,11 @@ "Sales Invoice-inter_company_branch", "Sales Invoice-custom_sale_type", "Purchase Receipt-custom_billing_approval_status", + "Customer-custom_vat_registration_number", + "Sales Invoice-custom_credit_limit", + "Sales Invoice-custom_contact_expairy_date", + "Sales Invoice-custom_vat__expairy_date", + "Sales Invoice-custom_payment_mode", ) ] ] @@ -291,6 +300,183 @@ }, { "doctype": "Property Setter", - "filters": [["name", "=", "Sales Invoice Item-barcode-in_list_view"]] + "filters": [["name", + "in", + ( + "Sales Invoice Item-barcode-in_list_view", + "Purchase Invoice-is_paid-hidden", + "Purchase Invoice-is_return-hidden", + "Purchase Invoice-return_against-hidden", + "Purchase Invoice-update_outstanding_for_self-hidden", + "Purchase Invoice-update_billed_amount_in_purchase_order-hidden", + "Purchase Invoice-update_billed_amount_in_purchase_receipt-hidden", + "Purchase Invoice-apply_tds-hidden", + "Purchase Invoice-amended_from-hidden", + "Purchase Invoice-set_posting_time-hidden", + "Purchase Invoice-sec_warehouse-collapsible", + "Purchase Invoice-total_net_weight-hidden", + "Purchase Invoice-base_total-hidden", + "Purchase Invoice-base_net_total-hidden", + "Purchase Invoice-net_total-hidden", + "Purchase Invoice-tax_category-hidden", + "Purchase Invoice-taxes_and_charges-hidden", + "Purchase Invoice-shipping_rule-hidden", + "Purchase Invoice-incoterm-hidden", + "Purchase Invoice-named_place-hidden", + "Purchase Invoice-taxes-hidden", + "Purchase Invoice-base_taxes_and_charges_added-hidden", + "Purchase Invoice-base_taxes_and_charges_deducted-hidden", + "Purchase Invoice-taxes_and_charges_added-hidden", + "Purchase Invoice-taxes_and_charges_deducted-hidden", + "Purchase Invoice-total_taxes_and_charges-hidden", + "Purchase Invoice-base_grand_total-hidden", + "Purchase Invoice-base_rounding_adjustment-hidden", + "Purchase Invoice-base_rounded_total-hidden", + "Purchase Invoice-base_in_words-hidden", + "Purchase Invoice-disable_rounded_total-hidden", + "Purchase Invoice-apply_discount_on-hidden", + "Purchase Invoice-base_discount_amount-hidden", + "Purchase Invoice-additional_discount_percentage-hidden", + "Purchase Invoice-discount_amount-hidden", + "Purchase Invoice-tax_withheld_vouchers-hidden", + "Purchase Invoice-other_charges_calculation-hidden", + "Purchase Invoice-pricing_rules-hidden", + "Purchase Invoice-main-field_order", + "Purchase Invoice-section_break_49-collapsible", + "Purchase Invoice-in_words-hidden", + "Purchase Invoice-rounded_total-hidden", + "Purchase Invoice-rounding_adjustment-hidden", + "Purchase Invoice-use_company_roundoff_cost_center-hidden", + "Quotation-pricing_rules-hidden", + "Quotation-packed_items-hidden", + "Quotation-other_charges_calculation-hidden", + "Quotation-referral_sales_partner-hidden", + "Quotation-discount_amount-hidden", + "Quotation-additional_discount_percentage-hidden", + "Quotation-coupon_code-hidden", + "Quotation-base_discount_amount-hidden", + "Quotation-apply_discount_on-hidden", + "Quotation-disable_rounded_total-hidden", + "Quotation-rounding_adjustment-hidden", + "Quotation-grand_total-hidden", + "Quotation-base_in_words-hidden", + "Quotation-base_rounding_adjustment-hidden", + "Quotation-total_taxes_and_charges-hidden", + "Quotation-taxes-hidden", + "Quotation-named_place-hidden", + "Quotation-incoterm-hidden", + "Quotation-shipping_rule-hidden", + "Quotation-taxes_and_charges-hidden", + "Quotation-tax_category-hidden", + "Quotation-net_total-hidden", + "Quotation-total-hidden", + "Quotation-base_net_total-hidden", + "Quotation-total_net_weight-hidden", + "Quotation-last_scanned_warehouse-hidden", + "Quotation-order_type-hidden", + "Quotation-main-hidden", + "Quotation-main-field_order", + "Quotation-scan_barcode-hidden", + "Quotation-in_words-print_hide", + "Quotation-in_words-hidden", + "Quotation-disable_rounded_total-default", + "Quotation-rounded_total-print_hide", + "Quotation-rounded_total-hidden", + "Quotation-base_rounded_total-print_hide", + "Quotation-base_rounded_total-hidden", + "Purchase Receipt-grand_total-hidden", + "Purchase Receipt-main-field_order", + "Purchase Receipt-disable_rounded_total-hidden", + "Purchase Receipt-in_words-hidden", + "Purchase Receipt-rounded_total-hidden", + "Purchase Receipt-rounding_adjustment-hidden", + "Purchase Receipt-base_in_words-hidden", + "Purchase Receipt-base_rounded_total-hidden", + "Purchase Receipt-base_rounding_adjustment-hidden", + "Purchase Receipt-total_taxes_and_charges-hidden", + "Purchase Receipt-taxes_and_charges_deducted-hidden", + "Purchase Receipt-taxes_and_charges_added-hidden", + "Purchase Receipt-base_taxes_and_charges_deducted-hidden", + "Purchase Receipt-base_taxes_and_charges_added-hidden", + "Purchase Receipt-base_grand_total-hidden", + "Purchase Receipt-taxes-hidden", + "Purchase Receipt-named_place-hidden", + "Purchase Receipt-incoterm-hidden", + "Purchase Receipt-shipping_rule-hidden", + "Purchase Receipt-taxes_and_charges-hidden", + "Purchase Receipt-tax_category-hidden", + "Purchase Receipt-net_total-hidden", + "Purchase Receipt-total-hidden", + "Purchase Receipt-total_net_weight-hidden", + "Purchase Receipt-sec_warehouse-collapsible", + "Purchase Receipt-return_against-hidden", + "Purchase Receipt-is_return-hidden", + "Purchase Receipt-apply_putaway_rule-hidden", + "Purchase Receipt-set_posting_time-hidden", + "Purchase Receipt-posting_time-hidden", + "Purchase Receipt-supplier_delivery_note-hidden","Purchase Receipt-grand_total-hidden", + "Purchase Receipt-main-field_order", + "Purchase Receipt-disable_rounded_total-hidden", + "Purchase Receipt-in_words-hidden", + "Purchase Receipt-rounded_total-hidden", + "Purchase Receipt-rounding_adjustment-hidden", + "Purchase Receipt-base_in_words-hidden", + "Purchase Receipt-base_rounded_total-hidden", + "Purchase Receipt-base_rounding_adjustment-hidden", + "Purchase Receipt-total_taxes_and_charges-hidden", + "Purchase Receipt-taxes_and_charges_deducted-hidden", + "Purchase Receipt-taxes_and_charges_added-hidden", + "Purchase Receipt-base_taxes_and_charges_deducted-hidden", + "Purchase Receipt-base_taxes_and_charges_added-hidden", + "Purchase Receipt-base_grand_total-hidden", + "Purchase Receipt-taxes-hidden", + "Purchase Receipt-named_place-hidden", + "Purchase Receipt-incoterm-hidden", + "Purchase Receipt-shipping_rule-hidden", + "Purchase Receipt-taxes_and_charges-hidden", + "Purchase Receipt-tax_category-hidden", + "Purchase Receipt-net_total-hidden", + "Purchase Receipt-total-hidden", + "Purchase Receipt-total_net_weight-hidden", + "Purchase Receipt-sec_warehouse-collapsible", + "Purchase Receipt-return_against-hidden", + "Purchase Receipt-is_return-hidden", + "Purchase Receipt-apply_putaway_rule-hidden", + "Purchase Receipt-set_posting_time-hidden", + "Purchase Receipt-posting_time-hidden", + "Purchase Receipt-supplier_delivery_note-hidden", + "Sales Order-taxes-hidden", + "Sales Order-pricing_rules-hidden", + "Sales Order-packed_items-hidden", + "Sales Order-other_charges_calculation-hidden", + "Sales Order-discount_amount-hidden", + "Sales Order-additional_discount_percentage-hidden", + "Sales Order-coupon_code-hidden", + "Sales Order-base_discount_amount-hidden", + "Sales Order-apply_discount_on-hidden", + "Sales Order-disable_rounded_total-hidden", + "Sales Order-advance_paid-hidden", + "Sales Order-in_words-hidden", + "Sales Order-rounded_total-hidden", + "Sales Order-rounding_adjustment-hidden", + "Sales Order-grand_total-hidden", + "Sales Order-base_in_words-hidden", + "Sales Order-base_rounded_total-hidden", + "Sales Order-total_taxes_and_charges-hidden", + "Sales Order-named_place-hidden", + "Sales Order-incoterm-hidden", + "Sales Order-shipping_rule-hidden", + "Sales Order-taxes_and_charges-hidden", + "Sales Order-tax_category-hidden", + "Sales Order-net_total-hidden", + "Sales Order-total-hidden", + "Sales Order-base_net_total-hidden", + "Sales Order-total_net_weight-hidden", + "Sales Order-main-field_order", + "Sales Order-sec_warehouse-collapsible", + "Sales Order-po_date-hidden", + "Sales Order-po_no-hidden", + ) + ]] } ] \ No newline at end of file diff --git a/sf_trading/public/js/sales_invoice_pos_total_popup.js b/sf_trading/public/js/sales_invoice_pos_total_popup.js index a356126..ee9314a 100644 --- a/sf_trading/public/js/sales_invoice_pos_total_popup.js +++ b/sf_trading/public/js/sales_invoice_pos_total_popup.js @@ -161,10 +161,7 @@ frappe.ui.form.on("Sales Invoice", { ); }, after_save: function (frm) { - // Prevent popup if flag is set (we're saving from popup) if (frappe.flags.sf_trading_skip_payment_popup) return; - - // Prevent popup if already showing if (frappe.flags.sf_trading_popup_showing) return; // Credit: no payment popup (only "Do you want to Submit?" in before_save) @@ -175,6 +172,8 @@ frappe.ui.form.on("Sales Invoice", { // Non-credit: show payment popup after save if (!frm.doc.grand_total || frm.doc.grand_total <= 0) return; if (!frm.doc.name || frm.doc.name.startsWith("new-")) return; + if (frm.doc.docstatus !== 0) return; + if (frm.doc.custom_payment_mode === "Credit") return; if (frm.doc.pos_profile) { frappe.db.get_value( @@ -255,7 +254,7 @@ function sf_trading_show_pos_total_popup(frm) { }, error: function () { frappe.flags.sf_trading_popup_showing = false; - frappe.msgprint(__("Error loading POS Profile. Please try again.")); + frappe.msgprint(__("No enabled payment modes with a default account for this company.")); } }); } else { @@ -546,3 +545,60 @@ function sf_trading_render_dialog(frm) { }); }); } + +// ── Credit Limit fetch ──────────────────────────────────────────────────────── +// When custom_payment_mode = "Credit", read the customer's credit limit from +// the Customer Credit Limit child table and populate custom_credit_limit. + +frappe.ui.form.on("Sales Invoice", { + custom_payment_mode: function (frm) { + sf_set_credit_limit(frm); + }, + customer: function (frm) { + sf_set_credit_limit(frm); + }, + company: function (frm) { + sf_set_credit_limit(frm); + }, +}); + +function sf_set_credit_limit(frm) { + if (frm.doc.custom_payment_mode !== "Credit" || !frm.doc.customer) { + frm.doc.custom_credit_limit = 0; + frm.refresh_field("custom_credit_limit"); + return; + } + + var company = frm.doc.company || frappe.defaults.get_default("company"); + + // Step 1: get credit limit from Customer doc + frappe.db.get_doc("Customer", frm.doc.customer).then(function (cust) { + var credit_limit = 0; + if (cust.credit_limits && cust.credit_limits.length) { + var row = cust.credit_limits.find(function (r) { return r.company === company; }); + credit_limit = flt(row ? row.credit_limit : cust.credit_limits[0].credit_limit); + } + if (!credit_limit) { + frm.doc.custom_credit_limit = 0; + frm.refresh_field("custom_credit_limit"); + return; + } + // Step 2: subtract grand_total of ALL submitted credit invoices (paid or unpaid) + frappe.db.get_list("Sales Invoice", { + filters: { + customer: frm.doc.customer, + company: company, + custom_payment_mode: "Credit", + docstatus: 1, + }, + fields: ["grand_total"], + limit: 500, + }).then(function (invoices) { + var used = 0; + (invoices || []).forEach(function (inv) { used += flt(inv.grand_total); }); + var available = Math.max(0, flt(credit_limit - used, 2)); + frm.doc.custom_credit_limit = available; + frm.refresh_field("custom_credit_limit"); + }); + }); +} diff --git a/sf_trading/sales_invoice_override.py b/sf_trading/sales_invoice_override.py deleted file mode 100644 index 265f56c..0000000 --- a/sf_trading/sales_invoice_override.py +++ /dev/null @@ -1,19 +0,0 @@ -""" -Sales Invoice overrides: remove empty item rows before validation (barcode scanner scan row). -""" - -from __future__ import annotations - -import frappe - - -def before_validate(doc, method=None): - """Remove item rows that have no item_code (leftover scan row from barcode). Runs before validation.""" - if not doc.get("items"): - return - # Remove in reverse so indices stay valid - to_remove = [row for row in doc.items if not (row.get("item_code") or "").strip()] - for row in to_remove: - doc.remove(row) - for i, row in enumerate(doc.items, start=1): - row.idx = i diff --git a/sf_trading/sf_trading/custom/customer.json b/sf_trading/sf_trading/custom/customer.json new file mode 100644 index 0000000..73cd435 --- /dev/null +++ b/sf_trading/sf_trading/custom/customer.json @@ -0,0 +1,228 @@ +{ + "custom_fields": [ + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "creation": "2026-06-01 12:10:42.315898", + "default": null, + "depends_on": null, + "description": null, + "docstatus": 0, + "dt": "Customer", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "custom_commercial_registration_number", + "fieldtype": "Data", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "idx": 7, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_preview": 0, + "in_standard_filter": 0, + "insert_after": "custom_vat_registration_number", + "is_system_generated": 0, + "is_virtual": 0, + "label": "Commercial Registration Number", + "length": 0, + "link_filters": null, + "mandatory_depends_on": null, + "modified": "2026-01-21 22:02:44.991168", + "modified_by": "Administrator", + "module": null, + "name": "Customer-custom_commercial_registration_number", + "no_copy": 0, + "non_negative": 0, + "options": null, + "owner": "Administrator", + "permlevel": 0, + "placeholder": null, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "print_width": null, + "read_only": 0, + "read_only_depends_on": null, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "show_dashboard": 0, + "sort_options": 0, + "translatable": 0, + "unique": 0, + "width": null + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "creation": "2026-06-01 10:50:04.329972", + "default": null, + "depends_on": null, + "description": null, + "docstatus": 0, + "dt": "Customer", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "custom_vat_registration_number", + "fieldtype": "Int", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "idx": 6, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_preview": 0, + "in_standard_filter": 0, + "insert_after": "customer_group", + "is_system_generated": 0, + "is_virtual": 0, + "label": "Vat Registration Number", + "length": 0, + "link_filters": null, + "mandatory_depends_on": null, + "modified": "2026-06-01 10:50:04.329972", + "modified_by": "Administrator", + "module": null, + "name": "Customer-custom_vat_registration_number", + "no_copy": 0, + "non_negative": 0, + "options": null, + "owner": "Administrator", + "permlevel": 0, + "placeholder": null, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "print_width": null, + "read_only": 0, + "read_only_depends_on": null, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "show_dashboard": 0, + "sort_options": 0, + "translatable": 0, + "unique": 0, + "width": null + } + ], + "custom_perms": [], + "doctype": "Customer", + "links": [ + { + "creation": "2013-06-11 14:26:44", + "custom": 0, + "docstatus": 0, + "group": "Allowed Items", + "hidden": 0, + "idx": 1, + "is_child_table": 0, + "link_doctype": "Party Specific Item", + "link_fieldname": "party", + "modified": "2026-05-27 10:58:10.823271", + "modified_by": "Administrator", + "name": "29cng5k7r2", + "owner": "Administrator", + "parent": "Customer", + "parent_doctype": null, + "parentfield": "links", + "parenttype": "DocType", + "table_fieldname": null + } + ], + "property_setters": [ + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-06-01 10:50:04.199123", + "default_value": null, + "doc_type": "Customer", + "docstatus": 0, + "doctype_or_field": "DocType", + "field_name": null, + "idx": 0, + "is_system_generated": 0, + "modified": "2026-06-01 10:50:04.199123", + "modified_by": "Administrator", + "module": null, + "name": "Customer-main-field_order", + "owner": "Administrator", + "property": "field_order", + "property_type": "Data", + "row_name": null, + "value": "[\"basic_info\", \"naming_series\", \"salutation\", \"customer_name\", \"customer_type\", \"customer_group\", \"vat_registration_number\", \"column_break0\", \"territory\", \"gender\", \"lead_name\", \"opportunity_name\", \"prospect_name\", \"account_manager\", \"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\", \"dashboard_tab\", \"contact_and_address_tab\", \"address_contacts\", \"address_html\", \"column_break1\", \"contact_html\", \"primary_address_and_contact_detail\", \"column_break_26\", \"customer_primary_address\", \"primary_address\", \"column_break_nwor\", \"customer_primary_contact\", \"mobile_no\", \"email_id\", \"first_name\", \"last_name\", \"tax_tab\", \"taxation_section\", \"tax_id\", \"column_break_21\", \"tax_category\", \"tax_withholding_category\", \"accounting_tab\", \"credit_limit_section\", \"payment_terms\", \"credit_limits\", \"default_receivable_accounts\", \"accounts\", \"loyalty_points_tab\", \"loyalty_program\", \"column_break_54\", \"loyalty_program_tier\", \"sales_team_tab\", \"sales_team\", \"sales_team_section\", \"default_sales_partner\", \"column_break_66\", \"default_commission_rate\", \"settings_tab\", \"so_required\", \"dn_required\", \"column_break_53\", \"is_frozen\", \"disabled\", \"portal_users_tab\", \"portal_users\", \"custom_commercial_registration_number\"]" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-05-27 11:02:05.490121", + "default_value": null, + "doc_type": "Customer", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "naming_series", + "idx": 0, + "is_system_generated": 1, + "modified": "2026-05-27 11:02:05.490121", + "modified_by": "Administrator", + "module": null, + "name": "Customer-naming_series-hidden", + "owner": "Administrator", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "1" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-05-27 11:02:04.923980", + "default_value": null, + "doc_type": "Customer", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "naming_series", + "idx": 0, + "is_system_generated": 1, + "modified": "2026-05-27 11:02:04.923980", + "modified_by": "Administrator", + "module": null, + "name": "Customer-naming_series-reqd", + "owner": "Administrator", + "property": "reqd", + "property_type": "Check", + "row_name": null, + "value": "0" + } + ], + "sync_on_migrate": 0 +} \ No newline at end of file diff --git a/sf_trading/sf_trading/custom/packed_item.json b/sf_trading/sf_trading/custom/packed_item.json new file mode 100644 index 0000000..9c67c0b --- /dev/null +++ b/sf_trading/sf_trading/custom/packed_item.json @@ -0,0 +1,32 @@ +{ + "custom_fields": [], + "custom_perms": [], + "doctype": "Packed Item", + "links": [], + "property_setters": [ + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-02-26 12:49:38.303441", + "default_value": null, + "doc_type": "Packed Item", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "rate", + "idx": 0, + "is_system_generated": 1, + "modified": "2026-06-02 09:23:48.306032", + "modified_by": "Administrator", + "module": null, + "name": "Packed Item-rate-read_only", + "owner": "Administrator", + "property": "read_only", + "property_type": "Check", + "row_name": null, + "value": "1" + } + ], + "sync_on_migrate": 0 +} \ No newline at end of file diff --git a/sf_trading/sf_trading/custom/purchase_invoice.json b/sf_trading/sf_trading/custom/purchase_invoice.json new file mode 100644 index 0000000..a29aeb5 --- /dev/null +++ b/sf_trading/sf_trading/custom/purchase_invoice.json @@ -0,0 +1,1306 @@ +{ + "custom_fields": [ + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "creation": "2026-05-24 18:07:41.994044", + "default": null, + "depends_on": null, + "description": null, + "docstatus": 0, + "dt": "Purchase Invoice", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "custom_column_break_1qiuv", + "fieldtype": "Column Break", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "idx": 59, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_preview": 0, + "in_standard_filter": 0, + "insert_after": "base_total", + "is_system_generated": 0, + "is_virtual": 0, + "label": "", + "length": 0, + "link_filters": null, + "mandatory_depends_on": null, + "modified": "2026-05-24 18:07:41.994044", + "modified_by": "Administrator", + "module": null, + "name": "Purchase Invoice-custom_column_break_1qiuv", + "no_copy": 0, + "non_negative": 0, + "options": null, + "owner": "Administrator", + "permlevel": 0, + "placeholder": null, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "print_width": null, + "read_only": 0, + "read_only_depends_on": null, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "show_dashboard": 0, + "sort_options": 0, + "translatable": 0, + "unique": 0, + "width": null + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "creation": "2026-05-24 17:30:59.635336", + "default": null, + "depends_on": null, + "description": null, + "docstatus": 0, + "dt": "Purchase Invoice", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "custom_column_break_ciiei", + "fieldtype": "Column Break", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "idx": 9, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_preview": 0, + "in_standard_filter": 0, + "insert_after": "set_posting_time", + "is_system_generated": 0, + "is_virtual": 0, + "label": "", + "length": 0, + "link_filters": null, + "mandatory_depends_on": null, + "modified": "2026-05-24 17:30:59.635336", + "modified_by": "Administrator", + "module": null, + "name": "Purchase Invoice-custom_column_break_ciiei", + "no_copy": 0, + "non_negative": 0, + "options": null, + "owner": "Administrator", + "permlevel": 0, + "placeholder": null, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "print_width": null, + "read_only": 0, + "read_only_depends_on": null, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "show_dashboard": 0, + "sort_options": 0, + "translatable": 0, + "unique": 0, + "width": null + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "creation": "2026-05-24 17:30:59.468310", + "default": null, + "depends_on": null, + "description": null, + "docstatus": 0, + "dt": "Purchase Invoice", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "custom_section_break_jz0bg", + "fieldtype": "Section Break", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "idx": 1, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_preview": 0, + "in_standard_filter": 0, + "insert_after": null, + "is_system_generated": 0, + "is_virtual": 0, + "label": "", + "length": 0, + "link_filters": null, + "mandatory_depends_on": null, + "modified": "2026-05-24 17:54:17.056597", + "modified_by": "Administrator", + "module": null, + "name": "Purchase Invoice-custom_section_break_jz0bg", + "no_copy": 0, + "non_negative": 0, + "options": null, + "owner": "Administrator", + "permlevel": 0, + "placeholder": null, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "print_width": null, + "read_only": 0, + "read_only_depends_on": null, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "show_dashboard": 0, + "sort_options": 0, + "translatable": 0, + "unique": 0, + "width": null + } + ], + "custom_perms": [], + "doctype": "Purchase Invoice", + "links": [], + "property_setters": [ + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-05-24 18:07:41.642872", + "default_value": null, + "doc_type": "Purchase Invoice", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "additional_discount_percentage", + "idx": 0, + "is_system_generated": 0, + "modified": "2026-05-24 18:07:41.642872", + "modified_by": "Administrator", + "module": null, + "name": "Purchase Invoice-additional_discount_percentage-hidden", + "owner": "Administrator", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "1" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-05-24 17:55:54.555106", + "default_value": null, + "doc_type": "Purchase Invoice", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "amended_from", + "idx": 0, + "is_system_generated": 0, + "modified": "2026-05-24 17:55:54.555106", + "modified_by": "Administrator", + "module": null, + "name": "Purchase Invoice-amended_from-hidden", + "owner": "Administrator", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "1" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-05-24 18:07:41.541304", + "default_value": null, + "doc_type": "Purchase Invoice", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "apply_discount_on", + "idx": 0, + "is_system_generated": 0, + "modified": "2026-05-24 18:07:41.541304", + "modified_by": "Administrator", + "module": null, + "name": "Purchase Invoice-apply_discount_on-hidden", + "owner": "Administrator", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "1" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-05-24 17:55:54.504147", + "default_value": null, + "doc_type": "Purchase Invoice", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "apply_tds", + "idx": 0, + "is_system_generated": 0, + "modified": "2026-05-24 17:55:54.504147", + "modified_by": "Administrator", + "module": null, + "name": "Purchase Invoice-apply_tds-hidden", + "owner": "Administrator", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "1" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-05-24 18:07:41.591972", + "default_value": null, + "doc_type": "Purchase Invoice", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "base_discount_amount", + "idx": 0, + "is_system_generated": 0, + "modified": "2026-05-24 18:07:41.591972", + "modified_by": "Administrator", + "module": null, + "name": "Purchase Invoice-base_discount_amount-hidden", + "owner": "Administrator", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "1" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-05-24 18:07:41.019343", + "default_value": null, + "doc_type": "Purchase Invoice", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "base_grand_total", + "idx": 0, + "is_system_generated": 0, + "modified": "2026-05-24 18:07:41.019343", + "modified_by": "Administrator", + "module": null, + "name": "Purchase Invoice-base_grand_total-hidden", + "owner": "Administrator", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "1" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-05-24 18:07:41.183833", + "default_value": null, + "doc_type": "Purchase Invoice", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "base_in_words", + "idx": 0, + "is_system_generated": 0, + "modified": "2026-05-24 18:07:41.183833", + "modified_by": "Administrator", + "module": null, + "name": "Purchase Invoice-base_in_words-hidden", + "owner": "Administrator", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "1" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-05-24 18:07:40.345180", + "default_value": null, + "doc_type": "Purchase Invoice", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "base_net_total", + "idx": 0, + "is_system_generated": 0, + "modified": "2026-05-24 18:07:40.345180", + "modified_by": "Administrator", + "module": null, + "name": "Purchase Invoice-base_net_total-hidden", + "owner": "Administrator", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "1" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-05-24 18:07:41.126857", + "default_value": null, + "doc_type": "Purchase Invoice", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "base_rounded_total", + "idx": 0, + "is_system_generated": 0, + "modified": "2026-05-24 18:07:41.126857", + "modified_by": "Administrator", + "module": null, + "name": "Purchase Invoice-base_rounded_total-hidden", + "owner": "Administrator", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "1" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-02-28 17:32:11.664069", + "default_value": null, + "doc_type": "Purchase Invoice", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "base_rounded_total", + "idx": 0, + "is_system_generated": 1, + "modified": "2026-02-28 17:32:11.664069", + "modified_by": "Administrator", + "module": null, + "name": "Purchase Invoice-base_rounded_total-print_hide", + "owner": "Administrator", + "property": "print_hide", + "property_type": "Check", + "row_name": null, + "value": "1" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-05-24 18:07:41.074791", + "default_value": null, + "doc_type": "Purchase Invoice", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "base_rounding_adjustment", + "idx": 0, + "is_system_generated": 0, + "modified": "2026-05-24 18:07:41.074791", + "modified_by": "Administrator", + "module": null, + "name": "Purchase Invoice-base_rounding_adjustment-hidden", + "owner": "Administrator", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "1" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-05-24 18:07:40.751829", + "default_value": null, + "doc_type": "Purchase Invoice", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "base_taxes_and_charges_added", + "idx": 0, + "is_system_generated": 0, + "modified": "2026-05-24 18:07:40.751829", + "modified_by": "Administrator", + "module": null, + "name": "Purchase Invoice-base_taxes_and_charges_added-hidden", + "owner": "Administrator", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "1" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-05-24 18:07:40.802995", + "default_value": null, + "doc_type": "Purchase Invoice", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "base_taxes_and_charges_deducted", + "idx": 0, + "is_system_generated": 0, + "modified": "2026-05-24 18:07:40.802995", + "modified_by": "Administrator", + "module": null, + "name": "Purchase Invoice-base_taxes_and_charges_deducted-hidden", + "owner": "Administrator", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "1" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-05-24 18:07:40.290432", + "default_value": null, + "doc_type": "Purchase Invoice", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "base_total", + "idx": 0, + "is_system_generated": 0, + "modified": "2026-05-24 18:07:40.290432", + "modified_by": "Administrator", + "module": null, + "name": "Purchase Invoice-base_total-hidden", + "owner": "Administrator", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "1" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-02-28 17:32:11.680254", + "default_value": null, + "doc_type": "Purchase Invoice", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "disable_rounded_total", + "idx": 0, + "is_system_generated": 1, + "modified": "2026-02-28 17:32:11.680254", + "modified_by": "Administrator", + "module": null, + "name": "Purchase Invoice-disable_rounded_total-default", + "owner": "Administrator", + "property": "default", + "property_type": "Text", + "row_name": null, + "value": "0" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-05-24 18:07:41.460362", + "default_value": null, + "doc_type": "Purchase Invoice", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "disable_rounded_total", + "idx": 0, + "is_system_generated": 0, + "modified": "2026-05-24 18:07:41.460362", + "modified_by": "Administrator", + "module": null, + "name": "Purchase Invoice-disable_rounded_total-hidden", + "owner": "Administrator", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "1" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-05-24 18:07:41.697888", + "default_value": null, + "doc_type": "Purchase Invoice", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "discount_amount", + "idx": 0, + "is_system_generated": 0, + "modified": "2026-05-24 18:07:41.697888", + "modified_by": "Administrator", + "module": null, + "name": "Purchase Invoice-discount_amount-hidden", + "owner": "Administrator", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "1" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-05-24 18:07:41.403563", + "default_value": null, + "doc_type": "Purchase Invoice", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "in_words", + "idx": 0, + "is_system_generated": 0, + "modified": "2026-05-24 18:07:41.403563", + "modified_by": "Administrator", + "module": null, + "name": "Purchase Invoice-in_words-hidden", + "owner": "Administrator", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "1" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-02-28 17:32:11.788018", + "default_value": null, + "doc_type": "Purchase Invoice", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "in_words", + "idx": 0, + "is_system_generated": 1, + "modified": "2026-02-28 17:32:11.788018", + "modified_by": "Administrator", + "module": null, + "name": "Purchase Invoice-in_words-print_hide", + "owner": "Administrator", + "property": "print_hide", + "property_type": "Check", + "row_name": null, + "value": "0" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-05-24 18:07:40.598985", + "default_value": null, + "doc_type": "Purchase Invoice", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "incoterm", + "idx": 0, + "is_system_generated": 0, + "modified": "2026-05-24 18:07:40.598985", + "modified_by": "Administrator", + "module": null, + "name": "Purchase Invoice-incoterm-hidden", + "owner": "Administrator", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "1" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-05-24 17:55:54.195795", + "default_value": null, + "doc_type": "Purchase Invoice", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "is_paid", + "idx": 0, + "is_system_generated": 0, + "modified": "2026-05-24 17:55:54.195795", + "modified_by": "Administrator", + "module": null, + "name": "Purchase Invoice-is_paid-hidden", + "owner": "Administrator", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "1" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-05-24 17:55:54.265647", + "default_value": null, + "doc_type": "Purchase Invoice", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "is_return", + "idx": 0, + "is_system_generated": 0, + "modified": "2026-05-24 17:55:54.265647", + "modified_by": "Administrator", + "module": null, + "name": "Purchase Invoice-is_return-hidden", + "owner": "Administrator", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "1" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-05-24 18:09:55.573490", + "default_value": null, + "doc_type": "Purchase Invoice", + "docstatus": 0, + "doctype_or_field": "DocType", + "field_name": null, + "idx": 0, + "is_system_generated": 0, + "modified": "2026-05-24 18:09:55.573490", + "modified_by": "Administrator", + "module": null, + "name": "Purchase Invoice-main-field_order", + "owner": "Administrator", + "property": "field_order", + "property_type": "Data", + "row_name": null, + "value": "[\"custom_section_break_jz0bg\", \"title\", \"supplier\", \"supplier_name\", \"column_break_6\", \"posting_time\", \"due_date\", \"set_posting_time\", \"custom_column_break_ciiei\", \"posting_date\", \"naming_series\", \"column_break1\", \"tax_id\", \"is_paid\", \"is_return\", \"return_against\", \"update_outstanding_for_self\", \"company\", \"update_billed_amount_in_purchase_order\", \"update_billed_amount_in_purchase_receipt\", \"apply_tds\", \"tax_withholding_category\", \"amended_from\", \"supplier_invoice_details\", \"bill_no\", \"column_break_15\", \"bill_date\", \"accounting_dimensions_section\", \"cost_center\", \"dimension_col_break\", \"project\", \"currency_and_price_list\", \"currency\", \"conversion_rate\", \"use_transaction_date_exchange_rate\", \"column_break2\", \"buying_price_list\", \"price_list_currency\", \"plc_conversion_rate\", \"ignore_pricing_rule\", \"sec_warehouse\", \"scan_barcode\", \"last_scanned_warehouse\", \"col_break_warehouse\", \"update_stock\", \"set_warehouse\", \"set_from_warehouse\", \"is_subcontracted\", \"rejected_warehouse\", \"supplier_warehouse\", \"items_section\", \"items\", \"section_break_26\", \"total_qty\", \"total_net_weight\", \"column_break_50\", \"total\", \"base_total\", \"custom_column_break_1qiuv\", \"grand_total\", \"base_total_taxes_and_charges\", \"base_net_total\", \"column_break_28\", \"outstanding_amount\", \"net_total\", \"tax_withholding_net_total\", \"base_tax_withholding_net_total\", \"taxes_section\", \"tax_category\", \"taxes_and_charges\", \"column_break_58\", \"shipping_rule\", \"column_break_49\", \"incoterm\", \"named_place\", \"section_break_51\", \"taxes\", \"totals\", \"base_taxes_and_charges_added\", \"base_taxes_and_charges_deducted\", \"column_break_40\", \"taxes_and_charges_added\", \"taxes_and_charges_deducted\", \"total_taxes_and_charges\", \"section_break_49\", \"base_grand_total\", \"base_rounding_adjustment\", \"base_rounded_total\", \"base_in_words\", \"column_break8\", \"rounding_adjustment\", \"use_company_roundoff_cost_center\", \"rounded_total\", \"in_words\", \"total_advance\", \"disable_rounded_total\", \"section_break_44\", \"apply_discount_on\", \"base_discount_amount\", \"column_break_46\", \"additional_discount_percentage\", \"discount_amount\", \"tax_withheld_vouchers_section\", \"tax_withheld_vouchers\", \"sec_tax_breakup\", \"other_charges_calculation\", \"pricing_rule_details\", \"pricing_rules\", \"raw_materials_supplied\", \"supplied_items\", \"payments_tab\", \"payments_section\", \"mode_of_payment\", \"base_paid_amount\", \"clearance_date\", \"col_br_payments\", \"cash_bank_account\", \"paid_amount\", \"advances_section\", \"allocate_advances_automatically\", \"only_include_allocated_payments\", \"get_advances\", \"advances\", \"advance_tax\", \"write_off\", \"write_off_amount\", \"base_write_off_amount\", \"column_break_61\", \"write_off_account\", \"write_off_cost_center\", \"address_and_contact_tab\", \"section_addresses\", \"supplier_address\", \"address_display\", \"col_break_address\", \"contact_person\", \"contact_display\", \"contact_mobile\", \"contact_email\", \"company_shipping_address_section\", \"dispatch_address\", \"dispatch_address_display\", \"column_break_126\", \"shipping_address\", \"shipping_address_display\", \"company_billing_address_section\", \"billing_address\", \"column_break_130\", \"billing_address_display\", \"terms_tab\", \"payment_schedule_section\", \"payment_terms_template\", \"ignore_default_payment_terms_template\", \"payment_schedule\", \"terms_section_break\", \"tc_name\", \"terms\", \"more_info_tab\", \"status_section\", \"status\", \"column_break_177\", \"per_received\", \"accounting_details_section\", \"credit_to\", \"party_account_currency\", \"is_opening\", \"against_expense_account\", \"column_break_63\", \"unrealized_profit_loss_account\", \"subscription_section\", \"subscription\", \"auto_repeat\", \"update_auto_repeat_reference\", \"column_break_114\", \"from_date\", \"to_date\", \"printing_settings\", \"letter_head\", \"group_same_items\", \"column_break_112\", \"select_print_heading\", \"language\", \"sb_14\", \"on_hold\", \"release_date\", \"cb_17\", \"hold_comment\", \"additional_info_section\", \"is_internal_supplier\", \"represents_company\", \"supplier_group\", \"column_break_147\", \"inter_company_invoice_reference\", \"is_old_subcontracting_flow\", \"remarks\", \"connections_tab\"]" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-05-24 18:07:40.647995", + "default_value": null, + "doc_type": "Purchase Invoice", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "named_place", + "idx": 0, + "is_system_generated": 0, + "modified": "2026-05-24 18:07:40.647995", + "modified_by": "Administrator", + "module": null, + "name": "Purchase Invoice-named_place-hidden", + "owner": "Administrator", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "1" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-05-24 18:07:40.399031", + "default_value": null, + "doc_type": "Purchase Invoice", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "net_total", + "idx": 0, + "is_system_generated": 0, + "modified": "2026-05-24 18:07:40.399031", + "modified_by": "Administrator", + "module": null, + "name": "Purchase Invoice-net_total-hidden", + "owner": "Administrator", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "1" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-05-24 18:07:41.810167", + "default_value": null, + "doc_type": "Purchase Invoice", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "other_charges_calculation", + "idx": 0, + "is_system_generated": 0, + "modified": "2026-05-24 18:07:41.810167", + "modified_by": "Administrator", + "module": null, + "name": "Purchase Invoice-other_charges_calculation-hidden", + "owner": "Administrator", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "1" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-05-24 18:07:41.868232", + "default_value": null, + "doc_type": "Purchase Invoice", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "pricing_rules", + "idx": 0, + "is_system_generated": 0, + "modified": "2026-05-24 18:07:41.868232", + "modified_by": "Administrator", + "module": null, + "name": "Purchase Invoice-pricing_rules-hidden", + "owner": "Administrator", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "1" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-05-24 17:55:54.316209", + "default_value": null, + "doc_type": "Purchase Invoice", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "return_against", + "idx": 0, + "is_system_generated": 0, + "modified": "2026-05-24 17:55:54.316209", + "modified_by": "Administrator", + "module": null, + "name": "Purchase Invoice-return_against-hidden", + "owner": "Administrator", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "1" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-05-24 18:07:41.349196", + "default_value": null, + "doc_type": "Purchase Invoice", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "rounded_total", + "idx": 0, + "is_system_generated": 0, + "modified": "2026-05-24 18:07:41.349196", + "modified_by": "Administrator", + "module": null, + "name": "Purchase Invoice-rounded_total-hidden", + "owner": "Administrator", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "1" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-02-28 17:32:11.674676", + "default_value": null, + "doc_type": "Purchase Invoice", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "rounded_total", + "idx": 0, + "is_system_generated": 1, + "modified": "2026-02-28 17:32:11.674676", + "modified_by": "Administrator", + "module": null, + "name": "Purchase Invoice-rounded_total-print_hide", + "owner": "Administrator", + "property": "print_hide", + "property_type": "Check", + "row_name": null, + "value": "0" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-05-24 18:07:41.240783", + "default_value": null, + "doc_type": "Purchase Invoice", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "rounding_adjustment", + "idx": 0, + "is_system_generated": 0, + "modified": "2026-05-24 18:07:41.240783", + "modified_by": "Administrator", + "module": null, + "name": "Purchase Invoice-rounding_adjustment-hidden", + "owner": "Administrator", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "1" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-02-28 17:32:12.810851", + "default_value": null, + "doc_type": "Purchase Invoice", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "scan_barcode", + "idx": 0, + "is_system_generated": 1, + "modified": "2026-02-28 17:32:12.810851", + "modified_by": "Administrator", + "module": null, + "name": "Purchase Invoice-scan_barcode-hidden", + "owner": "Administrator", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "0" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-05-24 18:00:42.005785", + "default_value": null, + "doc_type": "Purchase Invoice", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "sec_warehouse", + "idx": 0, + "is_system_generated": 0, + "modified": "2026-05-24 18:00:42.005785", + "modified_by": "Administrator", + "module": null, + "name": "Purchase Invoice-sec_warehouse-collapsible", + "owner": "Administrator", + "property": "collapsible", + "property_type": "Check", + "row_name": null, + "value": "1" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-05-24 18:10:26.300335", + "default_value": null, + "doc_type": "Purchase Invoice", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "section_break_49", + "idx": 0, + "is_system_generated": 0, + "modified": "2026-05-24 18:10:26.300335", + "modified_by": "Administrator", + "module": null, + "name": "Purchase Invoice-section_break_49-collapsible", + "owner": "Administrator", + "property": "collapsible", + "property_type": "Check", + "row_name": null, + "value": "1" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-05-24 17:56:37.308483", + "default_value": null, + "doc_type": "Purchase Invoice", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "set_posting_time", + "idx": 0, + "is_system_generated": 0, + "modified": "2026-05-24 17:56:37.308483", + "modified_by": "Administrator", + "module": null, + "name": "Purchase Invoice-set_posting_time-hidden", + "owner": "Administrator", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "1" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-05-24 18:07:40.550564", + "default_value": null, + "doc_type": "Purchase Invoice", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "shipping_rule", + "idx": 0, + "is_system_generated": 0, + "modified": "2026-05-24 18:07:40.550564", + "modified_by": "Administrator", + "module": null, + "name": "Purchase Invoice-shipping_rule-hidden", + "owner": "Administrator", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "1" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-05-24 18:07:40.453627", + "default_value": null, + "doc_type": "Purchase Invoice", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "tax_category", + "idx": 0, + "is_system_generated": 0, + "modified": "2026-05-24 18:07:40.453627", + "modified_by": "Administrator", + "module": null, + "name": "Purchase Invoice-tax_category-hidden", + "owner": "Administrator", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "1" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-05-24 18:07:41.750672", + "default_value": null, + "doc_type": "Purchase Invoice", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "tax_withheld_vouchers", + "idx": 0, + "is_system_generated": 0, + "modified": "2026-05-24 18:07:41.750672", + "modified_by": "Administrator", + "module": null, + "name": "Purchase Invoice-tax_withheld_vouchers-hidden", + "owner": "Administrator", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "1" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-05-24 18:07:40.857801", + "default_value": null, + "doc_type": "Purchase Invoice", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "taxes_and_charges_added", + "idx": 0, + "is_system_generated": 0, + "modified": "2026-05-24 18:07:40.857801", + "modified_by": "Administrator", + "module": null, + "name": "Purchase Invoice-taxes_and_charges_added-hidden", + "owner": "Administrator", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "1" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-05-24 18:07:40.914011", + "default_value": null, + "doc_type": "Purchase Invoice", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "taxes_and_charges_deducted", + "idx": 0, + "is_system_generated": 0, + "modified": "2026-05-24 18:07:40.914011", + "modified_by": "Administrator", + "module": null, + "name": "Purchase Invoice-taxes_and_charges_deducted-hidden", + "owner": "Administrator", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "1" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-05-24 18:07:40.502267", + "default_value": null, + "doc_type": "Purchase Invoice", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "taxes_and_charges", + "idx": 0, + "is_system_generated": 0, + "modified": "2026-05-24 18:07:40.502267", + "modified_by": "Administrator", + "module": null, + "name": "Purchase Invoice-taxes_and_charges-hidden", + "owner": "Administrator", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "1" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-05-24 18:07:40.697989", + "default_value": null, + "doc_type": "Purchase Invoice", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "taxes", + "idx": 0, + "is_system_generated": 0, + "modified": "2026-05-24 18:07:40.697989", + "modified_by": "Administrator", + "module": null, + "name": "Purchase Invoice-taxes-hidden", + "owner": "Administrator", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "1" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-05-24 18:07:40.238296", + "default_value": null, + "doc_type": "Purchase Invoice", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "total_net_weight", + "idx": 0, + "is_system_generated": 0, + "modified": "2026-05-24 18:07:40.238296", + "modified_by": "Administrator", + "module": null, + "name": "Purchase Invoice-total_net_weight-hidden", + "owner": "Administrator", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "1" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-05-24 18:07:40.967829", + "default_value": null, + "doc_type": "Purchase Invoice", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "total_taxes_and_charges", + "idx": 0, + "is_system_generated": 0, + "modified": "2026-05-24 18:07:40.967829", + "modified_by": "Administrator", + "module": null, + "name": "Purchase Invoice-total_taxes_and_charges-hidden", + "owner": "Administrator", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "1" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-05-24 17:55:54.409335", + "default_value": null, + "doc_type": "Purchase Invoice", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "update_billed_amount_in_purchase_order", + "idx": 0, + "is_system_generated": 0, + "modified": "2026-05-24 17:55:54.409335", + "modified_by": "Administrator", + "module": null, + "name": "Purchase Invoice-update_billed_amount_in_purchase_order-hidden", + "owner": "Administrator", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "1" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-05-24 17:55:54.455872", + "default_value": null, + "doc_type": "Purchase Invoice", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "update_billed_amount_in_purchase_receipt", + "idx": 0, + "is_system_generated": 0, + "modified": "2026-05-24 17:55:54.455872", + "modified_by": "Administrator", + "module": null, + "name": "Purchase Invoice-update_billed_amount_in_purchase_receipt-hidden", + "owner": "Administrator", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "1" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-05-24 17:55:54.362452", + "default_value": null, + "doc_type": "Purchase Invoice", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "update_outstanding_for_self", + "idx": 0, + "is_system_generated": 0, + "modified": "2026-05-24 17:55:54.362452", + "modified_by": "Administrator", + "module": null, + "name": "Purchase Invoice-update_outstanding_for_self-hidden", + "owner": "Administrator", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "1" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-05-24 18:07:41.299146", + "default_value": null, + "doc_type": "Purchase Invoice", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "use_company_roundoff_cost_center", + "idx": 0, + "is_system_generated": 0, + "modified": "2026-05-24 18:07:41.299146", + "modified_by": "Administrator", + "module": null, + "name": "Purchase Invoice-use_company_roundoff_cost_center-hidden", + "owner": "Administrator", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "1" + } + ], + "sync_on_migrate": 0 +} \ No newline at end of file diff --git a/sf_trading/sf_trading/custom/purchase_invoice_item.json b/sf_trading/sf_trading/custom/purchase_invoice_item.json new file mode 100644 index 0000000..76fc7a3 --- /dev/null +++ b/sf_trading/sf_trading/custom/purchase_invoice_item.json @@ -0,0 +1,32 @@ +{ + "custom_fields": [], + "custom_perms": [], + "doctype": "Purchase Invoice Item", + "links": [], + "property_setters": [ + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-02-28 17:32:12.906375", + "default_value": null, + "doc_type": "Purchase Invoice Item", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "from_warehouse", + "idx": 0, + "is_system_generated": 1, + "modified": "2026-02-28 17:32:12.906375", + "modified_by": "Administrator", + "module": null, + "name": "Purchase Invoice Item-from_warehouse-hidden", + "owner": "Administrator", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "1" + } + ], + "sync_on_migrate": 0 +} \ No newline at end of file diff --git a/sf_trading/sf_trading/custom/quotation.json b/sf_trading/sf_trading/custom/quotation.json new file mode 100644 index 0000000..460a83d --- /dev/null +++ b/sf_trading/sf_trading/custom/quotation.json @@ -0,0 +1,1053 @@ +{ + "custom_fields": [ + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "creation": "2026-05-24 20:44:44.445632", + "default": null, + "depends_on": null, + "description": null, + "docstatus": 0, + "dt": "Quotation", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "custom_column_break_bwult", + "fieldtype": "Column Break", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "idx": 36, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_preview": 0, + "in_standard_filter": 0, + "insert_after": "base_total_taxes_and_charges", + "is_system_generated": 0, + "is_virtual": 0, + "label": "", + "length": 0, + "link_filters": null, + "mandatory_depends_on": null, + "modified": "2026-05-24 20:44:44.445632", + "modified_by": "Administrator", + "module": null, + "name": "Quotation-custom_column_break_bwult", + "no_copy": 0, + "non_negative": 0, + "options": null, + "owner": "Administrator", + "permlevel": 0, + "placeholder": null, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "print_width": null, + "read_only": 0, + "read_only_depends_on": null, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "show_dashboard": 0, + "sort_options": 0, + "translatable": 0, + "unique": 0, + "width": null + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "creation": "2026-05-24 20:44:44.679343", + "default": null, + "depends_on": null, + "description": null, + "docstatus": 0, + "dt": "Quotation", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "custom_column_break_zkmd4", + "fieldtype": "Column Break", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "idx": 51, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_preview": 0, + "in_standard_filter": 0, + "insert_after": "section_break_39", + "is_system_generated": 0, + "is_virtual": 0, + "label": "", + "length": 0, + "link_filters": null, + "mandatory_depends_on": null, + "modified": "2026-05-24 20:44:44.679343", + "modified_by": "Administrator", + "module": null, + "name": "Quotation-custom_column_break_zkmd4", + "no_copy": 0, + "non_negative": 0, + "options": null, + "owner": "Administrator", + "permlevel": 0, + "placeholder": null, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "print_width": null, + "read_only": 0, + "read_only_depends_on": null, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "show_dashboard": 0, + "sort_options": 0, + "translatable": 0, + "unique": 0, + "width": null + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "creation": "2026-02-28 11:11:52.476754", + "default": null, + "depends_on": null, + "description": null, + "docstatus": 0, + "dt": "Quotation", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "custom_payment_mode", + "fieldtype": "Select", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "idx": 10, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_preview": 0, + "in_standard_filter": 0, + "insert_after": "valid_till", + "is_system_generated": 0, + "is_virtual": 0, + "label": "Payment Mode", + "length": 0, + "link_filters": null, + "mandatory_depends_on": null, + "modified": "2026-02-28 11:11:52.476754", + "modified_by": "Administrator", + "module": null, + "name": "Quotation-custom_payment_mode", + "no_copy": 0, + "non_negative": 0, + "options": "Cash\nCredit", + "owner": "Administrator", + "permlevel": 0, + "placeholder": null, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "print_width": null, + "read_only": 0, + "read_only_depends_on": null, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "show_dashboard": 0, + "sort_options": 0, + "translatable": 1, + "unique": 0, + "width": null + } + ], + "custom_perms": [], + "doctype": "Quotation", + "links": [], + "property_setters": [ + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-05-24 21:05:24.480569", + "default_value": null, + "doc_type": "Quotation", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "additional_discount_percentage", + "idx": 0, + "is_system_generated": 0, + "modified": "2026-05-24 21:05:24.480569", + "modified_by": "Administrator", + "module": null, + "name": "Quotation-additional_discount_percentage-hidden", + "owner": "Administrator", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "1" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-05-24 21:05:24.330560", + "default_value": null, + "doc_type": "Quotation", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "apply_discount_on", + "idx": 0, + "is_system_generated": 0, + "modified": "2026-05-24 21:05:24.330560", + "modified_by": "Administrator", + "module": null, + "name": "Quotation-apply_discount_on-hidden", + "owner": "Administrator", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "1" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-05-24 21:05:24.381643", + "default_value": null, + "doc_type": "Quotation", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "base_discount_amount", + "idx": 0, + "is_system_generated": 0, + "modified": "2026-05-24 21:05:24.381643", + "modified_by": "Administrator", + "module": null, + "name": "Quotation-base_discount_amount-hidden", + "owner": "Administrator", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "1" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-05-24 21:05:24.048080", + "default_value": null, + "doc_type": "Quotation", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "base_in_words", + "idx": 0, + "is_system_generated": 0, + "modified": "2026-05-24 21:05:24.048080", + "modified_by": "Administrator", + "module": null, + "name": "Quotation-base_in_words-hidden", + "owner": "Administrator", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "1" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-05-24 21:05:23.463370", + "default_value": null, + "doc_type": "Quotation", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "base_net_total", + "idx": 0, + "is_system_generated": 0, + "modified": "2026-05-24 21:05:23.463370", + "modified_by": "Administrator", + "module": null, + "name": "Quotation-base_net_total-hidden", + "owner": "Administrator", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "1" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-02-26 12:49:38.512555", + "default_value": null, + "doc_type": "Quotation", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "base_rounded_total", + "idx": 0, + "is_system_generated": 1, + "modified": "2026-06-02 09:23:47.795748", + "modified_by": "Administrator", + "module": null, + "name": "Quotation-base_rounded_total-hidden", + "owner": "Administrator", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "0" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-02-26 12:49:38.637672", + "default_value": null, + "doc_type": "Quotation", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "base_rounded_total", + "idx": 0, + "is_system_generated": 1, + "modified": "2026-06-02 09:23:47.863860", + "modified_by": "Administrator", + "module": null, + "name": "Quotation-base_rounded_total-print_hide", + "owner": "Administrator", + "property": "print_hide", + "property_type": "Check", + "row_name": null, + "value": "1" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-05-24 21:05:23.959214", + "default_value": null, + "doc_type": "Quotation", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "base_rounding_adjustment", + "idx": 0, + "is_system_generated": 0, + "modified": "2026-05-24 21:05:23.959214", + "modified_by": "Administrator", + "module": null, + "name": "Quotation-base_rounding_adjustment-hidden", + "owner": "Administrator", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "1" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-05-24 21:05:24.433117", + "default_value": null, + "doc_type": "Quotation", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "coupon_code", + "idx": 0, + "is_system_generated": 0, + "modified": "2026-05-24 21:05:24.433117", + "modified_by": "Administrator", + "module": null, + "name": "Quotation-coupon_code-hidden", + "owner": "Administrator", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "1" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-02-26 12:49:38.653781", + "default_value": null, + "doc_type": "Quotation", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "disable_rounded_total", + "idx": 0, + "is_system_generated": 1, + "modified": "2026-06-02 09:23:47.882367", + "modified_by": "Administrator", + "module": null, + "name": "Quotation-disable_rounded_total-default", + "owner": "Administrator", + "property": "default", + "property_type": "Text", + "row_name": null, + "value": "0" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-05-24 21:05:24.232994", + "default_value": null, + "doc_type": "Quotation", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "disable_rounded_total", + "idx": 0, + "is_system_generated": 0, + "modified": "2026-05-24 21:05:24.232994", + "modified_by": "Administrator", + "module": null, + "name": "Quotation-disable_rounded_total-hidden", + "owner": "Administrator", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "1" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-05-24 21:05:24.533656", + "default_value": null, + "doc_type": "Quotation", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "discount_amount", + "idx": 0, + "is_system_generated": 0, + "modified": "2026-05-24 21:05:24.533656", + "modified_by": "Administrator", + "module": null, + "name": "Quotation-discount_amount-hidden", + "owner": "Administrator", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "1" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-05-24 21:05:24.094816", + "default_value": null, + "doc_type": "Quotation", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "grand_total", + "idx": 0, + "is_system_generated": 0, + "modified": "2026-05-24 21:05:24.094816", + "modified_by": "Administrator", + "module": null, + "name": "Quotation-grand_total-hidden", + "owner": "Administrator", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "1" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-02-26 12:49:38.840211", + "default_value": null, + "doc_type": "Quotation", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "in_words", + "idx": 0, + "is_system_generated": 1, + "modified": "2026-06-02 09:23:47.902085", + "modified_by": "Administrator", + "module": null, + "name": "Quotation-in_words-hidden", + "owner": "Administrator", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "0" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-02-26 12:49:38.844953", + "default_value": null, + "doc_type": "Quotation", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "in_words", + "idx": 0, + "is_system_generated": 1, + "modified": "2026-06-02 09:23:47.924188", + "modified_by": "Administrator", + "module": null, + "name": "Quotation-in_words-print_hide", + "owner": "Administrator", + "property": "print_hide", + "property_type": "Check", + "row_name": null, + "value": "0" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-05-24 21:05:23.757935", + "default_value": null, + "doc_type": "Quotation", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "incoterm", + "idx": 0, + "is_system_generated": 0, + "modified": "2026-05-24 21:05:23.757935", + "modified_by": "Administrator", + "module": null, + "name": "Quotation-incoterm-hidden", + "owner": "Administrator", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "1" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-05-24 21:05:23.364362", + "default_value": null, + "doc_type": "Quotation", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "last_scanned_warehouse", + "idx": 0, + "is_system_generated": 0, + "modified": "2026-05-24 21:05:23.364362", + "modified_by": "Administrator", + "module": null, + "name": "Quotation-last_scanned_warehouse-hidden", + "owner": "Administrator", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "1" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-02-28 11:11:57.839398", + "default_value": null, + "doc_type": "Quotation", + "docstatus": 0, + "doctype_or_field": "DocType", + "field_name": null, + "idx": 0, + "is_system_generated": 0, + "modified": "2026-06-02 09:23:47.945212", + "modified_by": "Administrator", + "module": null, + "name": "Quotation-main-field_order", + "owner": "Administrator", + "property": "field_order", + "property_type": "Data", + "row_name": null, + "value": "[\"customer_section\", \"title\", \"naming_series\", \"quotation_to\", \"party_name\", \"customer_name\", \"column_break_7\", \"transaction_date\", \"valid_till\", \"custom_payment_mode\", \"column_break1\", \"order_type\", \"company\", \"has_unit_price_items\", \"amended_from\", \"currency_and_price_list\", \"currency\", \"conversion_rate\", \"column_break2\", \"selling_price_list\", \"price_list_currency\", \"plc_conversion_rate\", \"ignore_pricing_rule\", \"items_section\", \"scan_barcode\", \"last_scanned_warehouse\", \"items\", \"sec_break23\", \"total_qty\", \"total_net_weight\", \"column_break_28\", \"base_total\", \"base_net_total\", \"column_break_31\", \"total\", \"net_total\", \"taxes_section\", \"tax_category\", \"taxes_and_charges\", \"column_break_36\", \"shipping_rule\", \"column_break_34\", \"incoterm\", \"named_place\", \"section_break_36\", \"taxes\", \"section_break_39\", \"base_total_taxes_and_charges\", \"column_break_42\", \"total_taxes_and_charges\", \"totals\", \"base_grand_total\", \"base_rounding_adjustment\", \"base_rounded_total\", \"base_in_words\", \"column_break3\", \"grand_total\", \"rounding_adjustment\", \"rounded_total\", \"disable_rounded_total\", \"in_words\", \"section_break_44\", \"apply_discount_on\", \"base_discount_amount\", \"coupon_code\", \"column_break_46\", \"additional_discount_percentage\", \"discount_amount\", \"referral_sales_partner\", \"sec_tax_breakup\", \"other_charges_calculation\", \"bundle_items_section\", \"packed_items\", \"pricing_rule_details\", \"pricing_rules\", \"address_and_contact_tab\", \"billing_address_section\", \"customer_address\", \"address_display\", \"col_break98\", \"contact_person\", \"contact_display\", \"contact_mobile\", \"contact_email\", \"shipping_address_section\", \"shipping_address_name\", \"column_break_81\", \"shipping_address\", \"company_address_section\", \"company_address\", \"company_address_display\", \"column_break_87\", \"company_contact_person\", \"terms_tab\", \"payment_schedule_section\", \"payment_terms_template\", \"payment_schedule\", \"terms_section_break\", \"tc_name\", \"terms\", \"more_info_tab\", \"subscription_section\", \"auto_repeat\", \"update_auto_repeat_reference\", \"print_settings\", \"letter_head\", \"group_same_items\", \"column_break_73\", \"select_print_heading\", \"language\", \"lost_reasons_section\", \"lost_reasons\", \"competitors\", \"column_break_117\", \"order_lost_reason\", \"additional_info_section\", \"status\", \"customer_group\", \"territory\", \"column_break_108\", \"campaign\", \"source\", \"column_break4\", \"opportunity\", \"supplier_quotation\", \"enq_det\", \"connections_tab\"]" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-05-24 20:48:40.619236", + "default_value": null, + "doc_type": "Quotation", + "docstatus": 0, + "doctype_or_field": "DocType", + "field_name": null, + "idx": 0, + "is_system_generated": 0, + "modified": "2026-05-24 20:48:48.865313", + "modified_by": "Administrator", + "module": null, + "name": "Quotation-main-hidden", + "owner": "Administrator", + "property": "hidden", + "property_type": "Check", + "row_name": "company", + "value": "0" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-05-24 21:05:23.809695", + "default_value": null, + "doc_type": "Quotation", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "named_place", + "idx": 0, + "is_system_generated": 0, + "modified": "2026-05-24 21:05:23.809695", + "modified_by": "Administrator", + "module": null, + "name": "Quotation-named_place-hidden", + "owner": "Administrator", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "1" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-05-24 21:05:23.560613", + "default_value": null, + "doc_type": "Quotation", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "net_total", + "idx": 0, + "is_system_generated": 0, + "modified": "2026-05-24 21:05:23.560613", + "modified_by": "Administrator", + "module": null, + "name": "Quotation-net_total-hidden", + "owner": "Administrator", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "1" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-05-24 21:03:03.178697", + "default_value": null, + "doc_type": "Quotation", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "order_type", + "idx": 0, + "is_system_generated": 0, + "modified": "2026-05-24 21:03:03.178697", + "modified_by": "Administrator", + "module": null, + "name": "Quotation-order_type-hidden", + "owner": "Administrator", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "1" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-05-24 21:05:24.628760", + "default_value": null, + "doc_type": "Quotation", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "other_charges_calculation", + "idx": 0, + "is_system_generated": 0, + "modified": "2026-05-24 21:05:24.628760", + "modified_by": "Administrator", + "module": null, + "name": "Quotation-other_charges_calculation-hidden", + "owner": "Administrator", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "1" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-05-24 21:05:24.680125", + "default_value": null, + "doc_type": "Quotation", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "packed_items", + "idx": 0, + "is_system_generated": 0, + "modified": "2026-05-24 21:05:24.680125", + "modified_by": "Administrator", + "module": null, + "name": "Quotation-packed_items-hidden", + "owner": "Administrator", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "1" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-05-24 21:05:24.734621", + "default_value": null, + "doc_type": "Quotation", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "pricing_rules", + "idx": 0, + "is_system_generated": 0, + "modified": "2026-05-24 21:05:24.734621", + "modified_by": "Administrator", + "module": null, + "name": "Quotation-pricing_rules-hidden", + "owner": "Administrator", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "1" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-05-24 21:05:24.577393", + "default_value": null, + "doc_type": "Quotation", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "referral_sales_partner", + "idx": 0, + "is_system_generated": 0, + "modified": "2026-05-24 21:05:24.577393", + "modified_by": "Administrator", + "module": null, + "name": "Quotation-referral_sales_partner-hidden", + "owner": "Administrator", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "1" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-02-26 12:49:38.643166", + "default_value": null, + "doc_type": "Quotation", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "rounded_total", + "idx": 0, + "is_system_generated": 1, + "modified": "2026-06-02 09:23:47.971085", + "modified_by": "Administrator", + "module": null, + "name": "Quotation-rounded_total-hidden", + "owner": "Administrator", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "0" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-02-26 12:49:38.648454", + "default_value": null, + "doc_type": "Quotation", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "rounded_total", + "idx": 0, + "is_system_generated": 1, + "modified": "2026-06-02 09:23:47.991771", + "modified_by": "Administrator", + "module": null, + "name": "Quotation-rounded_total-print_hide", + "owner": "Administrator", + "property": "print_hide", + "property_type": "Check", + "row_name": null, + "value": "0" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-05-24 21:05:24.139410", + "default_value": null, + "doc_type": "Quotation", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "rounding_adjustment", + "idx": 0, + "is_system_generated": 0, + "modified": "2026-05-24 21:05:24.139410", + "modified_by": "Administrator", + "module": null, + "name": "Quotation-rounding_adjustment-hidden", + "owner": "Administrator", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "1" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-02-26 12:49:39.738395", + "default_value": null, + "doc_type": "Quotation", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "scan_barcode", + "idx": 0, + "is_system_generated": 1, + "modified": "2026-06-02 09:23:48.014996", + "modified_by": "Administrator", + "module": null, + "name": "Quotation-scan_barcode-hidden", + "owner": "Administrator", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "0" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-05-24 21:05:23.706221", + "default_value": null, + "doc_type": "Quotation", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "shipping_rule", + "idx": 0, + "is_system_generated": 0, + "modified": "2026-05-24 21:05:23.706221", + "modified_by": "Administrator", + "module": null, + "name": "Quotation-shipping_rule-hidden", + "owner": "Administrator", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "1" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-05-24 21:05:23.609500", + "default_value": null, + "doc_type": "Quotation", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "tax_category", + "idx": 0, + "is_system_generated": 0, + "modified": "2026-05-24 21:05:23.609500", + "modified_by": "Administrator", + "module": null, + "name": "Quotation-tax_category-hidden", + "owner": "Administrator", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "1" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-05-24 21:05:23.652527", + "default_value": null, + "doc_type": "Quotation", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "taxes_and_charges", + "idx": 0, + "is_system_generated": 0, + "modified": "2026-05-24 21:05:23.652527", + "modified_by": "Administrator", + "module": null, + "name": "Quotation-taxes_and_charges-hidden", + "owner": "Administrator", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "1" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-05-24 21:05:23.862614", + "default_value": null, + "doc_type": "Quotation", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "taxes", + "idx": 0, + "is_system_generated": 0, + "modified": "2026-05-24 21:05:23.862614", + "modified_by": "Administrator", + "module": null, + "name": "Quotation-taxes-hidden", + "owner": "Administrator", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "1" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-05-24 21:05:23.416222", + "default_value": null, + "doc_type": "Quotation", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "total_net_weight", + "idx": 0, + "is_system_generated": 0, + "modified": "2026-05-24 21:05:23.416222", + "modified_by": "Administrator", + "module": null, + "name": "Quotation-total_net_weight-hidden", + "owner": "Administrator", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "1" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-05-24 21:05:23.917310", + "default_value": null, + "doc_type": "Quotation", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "total_taxes_and_charges", + "idx": 0, + "is_system_generated": 0, + "modified": "2026-05-24 21:05:23.917310", + "modified_by": "Administrator", + "module": null, + "name": "Quotation-total_taxes_and_charges-hidden", + "owner": "Administrator", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "1" + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-05-24 21:05:23.510956", + "default_value": null, + "doc_type": "Quotation", + "docstatus": 0, + "doctype_or_field": "DocField", + "field_name": "total", + "idx": 0, + "is_system_generated": 0, + "modified": "2026-05-24 21:05:23.510956", + "modified_by": "Administrator", + "module": null, + "name": "Quotation-total-hidden", + "owner": "Administrator", + "property": "hidden", + "property_type": "Check", + "row_name": null, + "value": "1" + } + ], + "sync_on_migrate": 0 +} \ No newline at end of file