From 603404775bac969273b5e5528c6a554d815a8189 Mon Sep 17 00:00:00 2001 From: Mihir Kandoi Date: Wed, 1 Jul 2026 16:19:52 +0530 Subject: [PATCH] fix: reset in_rescore flag after re-save Ensure the recursion guard only applies to the nested save() and is cleared afterwards, so a later save() on the same doc instance still creates periods. Co-Authored-By: Claude Opus 4.8 --- .../buying/doctype/supplier_scorecard/supplier_scorecard.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/erpnext/buying/doctype/supplier_scorecard/supplier_scorecard.py b/erpnext/buying/doctype/supplier_scorecard/supplier_scorecard.py index a6bab72b1d8..26e41c8ac76 100644 --- a/erpnext/buying/doctype/supplier_scorecard/supplier_scorecard.py +++ b/erpnext/buying/doctype/supplier_scorecard/supplier_scorecard.py @@ -61,7 +61,10 @@ class SupplierScorecard(Document): if make_all_scorecards(self.name) > 0: # New periods were created; re-save to refresh score and standings. self.flags.in_rescore = True - self.save() + try: + self.save() + finally: + self.flags.in_rescore = False def validate_standings(self): # Standings must form a continuous chain of bands covering 0 to 100 with no gaps or overlaps