From b33475e7cfd575166faab7b20711924905c21464 Mon Sep 17 00:00:00 2001 From: Pandiyan P Date: Mon, 24 Aug 2026 16:28:17 +0530 Subject: [PATCH] fix: render missing terms before printing (#58367) --- erpnext/controllers/accounts_controller.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/erpnext/controllers/accounts_controller.py b/erpnext/controllers/accounts_controller.py index c19d254b56c..30bac060a48 100644 --- a/erpnext/controllers/accounts_controller.py +++ b/erpnext/controllers/accounts_controller.py @@ -719,6 +719,8 @@ class AccountsController(TransactionBase): self.validate_non_invoice_documents_schedule() def before_print(self, settings=None): + self.set_missing_terms() + if self.doctype in [ "Purchase Order", "Sales Order", @@ -742,6 +744,16 @@ class AccountsController(TransactionBase): set_print_templates_for_item_table(self, settings) set_print_templates_for_taxes(self, settings) + def set_missing_terms(self): + if not self.get("tc_name") or self.get("terms"): + return + + from erpnext.setup.doctype.terms_and_conditions.terms_and_conditions import ( + get_terms_and_conditions, + ) + + self.terms = get_terms_and_conditions(self.tc_name, self.as_dict()) + def calculate_paid_amount(self): if hasattr(self, "is_pos") or hasattr(self, "is_paid"): is_paid = self.get("is_pos") or self.get("is_paid")