From 3a604dd2495f9fb641724062bb4551031002b977 Mon Sep 17 00:00:00 2001 From: Diptanil Saha Date: Thu, 18 Dec 2025 16:22:56 +0530 Subject: [PATCH] fix(pegged currencies): skip adding currencies_to_add items on pegged_currency_item if source_currency or pegged_against currency doc does not exist (#51188) --- erpnext/setup/install.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/erpnext/setup/install.py b/erpnext/setup/install.py index 3a94e1dcf57..5738182529b 100644 --- a/erpnext/setup/install.py +++ b/erpnext/setup/install.py @@ -282,8 +282,20 @@ def update_pegged_currencies(): {"source_currency": "SAR", "pegged_against": "USD", "pegged_exchange_rate": 3.75}, ] + # Add items on pegged_currency_item if source_currency and pegged_against currency doc exist. + + currencies_exist = frappe.db.get_list( + "Currency", {"name": ["in", ["AED", "BHD", "JOD", "OMR", "QAR", "SAR", "USD"]]}, pluck="name" + ) + + if "USD" not in currencies_exist: + return + for currency in currencies_to_add: - if currency["source_currency"] not in existing_sources: + if ( + currency["source_currency"] in currencies_exist + and currency["source_currency"] not in existing_sources + ): doc.append("pegged_currency_item", currency) doc.save()