From f9b3e42dcdf47f683dea6c5b4ccb998f102a8052 Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Mon, 27 Jul 2026 18:14:11 +0000 Subject: [PATCH] fix(quotation): carry forward communications from opportunity (backport #57507) (#57509) Co-authored-by: Diptanil Saha --- erpnext/selling/doctype/quotation/quotation.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/erpnext/selling/doctype/quotation/quotation.py b/erpnext/selling/doctype/quotation/quotation.py index fbaec574b7f..cd9c668d027 100644 --- a/erpnext/selling/doctype/quotation/quotation.py +++ b/erpnext/selling/doctype/quotation/quotation.py @@ -296,6 +296,7 @@ class Quotation(SellingController): # update enquiry status self.update_opportunity("Quotation") self.update_lead() + self.carry_forward_communication() def on_cancel(self): if self.lost_reasons: @@ -307,6 +308,18 @@ class Quotation(SellingController): self.update_opportunity("Open") self.update_lead() + def carry_forward_communication(self): + from erpnext.crm.utils import copy_comments, link_communications + + if not ( + self.opportunity + and frappe.get_single_value("CRM Settings", "carry_forward_communication_and_comments") + ): + return + + copy_comments("Opportunity", self.opportunity, self) + link_communications("Opportunity", self.opportunity, self) + def print_other_charges(self, docname): print_lst = [] for d in self.get("taxes"):