From 26db582499f4ddbaabd0def2f092c65580feb8d9 Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Sun, 6 Jul 2025 15:25:59 +0530 Subject: [PATCH] fix: add company field on POS Invoice Merge Log (backport #48357) (#48414) * fix: add company field on POS Invoice Merge Log (cherry picked from commit 109658731b967d6944e322e549eb2c2fdfaa8920) # Conflicts: # erpnext/accounts/doctype/pos_invoice_merge_log/pos_invoice_merge_log.json * fix: patch for updating company name on existing pos merge log records (cherry picked from commit d46b68230c61703db7aeb4564d311334593986a6) # Conflicts: # erpnext/patches.txt * fix: pass company on create_merge_logs (cherry picked from commit b4b473185f5e8509ee7f1a446ee0670b2b4c8891) * test: test company fetching from POS Closing Entry (cherry picked from commit 9548f341bf631ae72d6591324e0bdf7cbbc40fe3) # Conflicts: # erpnext/accounts/doctype/pos_invoice_merge_log/test_pos_invoice_merge_log.py * chore: remove conflicts --------- Co-authored-by: Kavin <78342682+kavin0411@users.noreply.github.com> Co-authored-by: diptanilsaha --- .../pos_invoice_merge_log.json | 18 +++++++++++++++--- .../pos_invoice_merge_log.py | 6 +++--- erpnext/patches.txt | 1 + .../v15_0/set_company_on_pos_inv_merge_log.py | 12 ++++++++++++ 4 files changed, 31 insertions(+), 6 deletions(-) create mode 100644 erpnext/patches/v15_0/set_company_on_pos_inv_merge_log.py diff --git a/erpnext/accounts/doctype/pos_invoice_merge_log/pos_invoice_merge_log.json b/erpnext/accounts/doctype/pos_invoice_merge_log/pos_invoice_merge_log.json index a0594556474..7d9b90f1b65 100644 --- a/erpnext/accounts/doctype/pos_invoice_merge_log/pos_invoice_merge_log.json +++ b/erpnext/accounts/doctype/pos_invoice_merge_log/pos_invoice_merge_log.json @@ -5,6 +5,7 @@ "editable_grid": 1, "engine": "InnoDB", "field_order": [ + "company", "posting_date", "posting_time", "merge_invoices_based_on", @@ -113,12 +114,22 @@ "label": "Posting Time", "no_copy": 1, "reqd": 1 + }, + { + "fieldname": "company", + "fieldtype": "Link", + "in_standard_filter": 1, + "label": "Company", + "options": "Company", + "print_hide": 1, + "remember_last_selected_value": 1, + "reqd": 1 } ], "index_web_pages_for_search": 1, "is_submittable": 1, "links": [], - "modified": "2022-08-01 11:36:42.456429", + "modified": "2025-07-02 17:08:04.747202", "modified_by": "Administrator", "module": "Accounts", "name": "POS Invoice Merge Log", @@ -179,8 +190,9 @@ "write": 1 } ], - "sort_field": "modified", + "row_format": "Dynamic", + "sort_field": "creation", "sort_order": "DESC", "states": [], "track_changes": 1 -} \ No newline at end of file +} diff --git a/erpnext/accounts/doctype/pos_invoice_merge_log/pos_invoice_merge_log.py b/erpnext/accounts/doctype/pos_invoice_merge_log/pos_invoice_merge_log.py index 3d6d03f7380..fedc6a7772d 100644 --- a/erpnext/accounts/doctype/pos_invoice_merge_log/pos_invoice_merge_log.py +++ b/erpnext/accounts/doctype/pos_invoice_merge_log/pos_invoice_merge_log.py @@ -28,11 +28,10 @@ class POSInvoiceMergeLog(Document): if TYPE_CHECKING: from frappe.types import DF - from erpnext.accounts.doctype.pos_invoice_reference.pos_invoice_reference import ( - POSInvoiceReference, - ) + from erpnext.accounts.doctype.pos_invoice_reference.pos_invoice_reference import POSInvoiceReference amended_from: DF.Link | None + company: DF.Link consolidated_credit_note: DF.Link | None consolidated_invoice: DF.Link | None customer: DF.Link @@ -584,6 +583,7 @@ def create_merge_logs(invoice_by_customer, closing_entry=None): merge_log.posting_time = ( get_time(closing_entry.get("posting_time")) if closing_entry else nowtime() ) + merge_log.company = closing_entry.get("company") if closing_entry else None merge_log.customer = customer merge_log.pos_closing_entry = closing_entry.get("name") if closing_entry else None merge_log.set("pos_invoices", _invoices) diff --git a/erpnext/patches.txt b/erpnext/patches.txt index 34140dc2c84..71cb012c1b8 100644 --- a/erpnext/patches.txt +++ b/erpnext/patches.txt @@ -411,3 +411,4 @@ erpnext.patches.v14_0.update_full_name_in_contract erpnext.patches.v15_0.drop_sle_indexes erpnext.patches.v15_0.update_pick_list_fields erpnext.patches.v15_0.update_pegged_currencies +erpnext.patches.v15_0.set_company_on_pos_inv_merge_log diff --git a/erpnext/patches/v15_0/set_company_on_pos_inv_merge_log.py b/erpnext/patches/v15_0/set_company_on_pos_inv_merge_log.py new file mode 100644 index 00000000000..8f83898a877 --- /dev/null +++ b/erpnext/patches/v15_0/set_company_on_pos_inv_merge_log.py @@ -0,0 +1,12 @@ +import frappe + + +def execute(): + pos_invoice_merge_logs = frappe.db.get_all( + "POS Invoice Merge Log", {"docstatus": 1}, ["name", "pos_closing_entry"] + ) + + for log in pos_invoice_merge_logs: + if log.pos_closing_entry and frappe.db.exists("POS Closing Entry", log.pos_closing_entry): + company = frappe.db.get_value("POS Closing Entry", log.pos_closing_entry, "company") + frappe.db.set_value("POS Invoice Merge Log", log.name, "company", company)