fix: skip receivable/payable account validation in payroll entry if party is not available (#49585)

* fix: skip receivable/payable account validation if party is not available in creation of payroll entry

* refactor: rename flag
This commit is contained in:
Raheel Khan
2025-09-17 18:36:00 +05:30
committed by GitHub
parent c4f90c3b34
commit 8b543e5503
2 changed files with 16 additions and 11 deletions

View File

@@ -137,6 +137,8 @@ class GLEntry(Document):
if not self.is_cancelled and not (self.party_type and self.party): if not self.is_cancelled and not (self.party_type and self.party):
account_type = frappe.get_cached_value("Account", self.account, "account_type") account_type = frappe.get_cached_value("Account", self.account, "account_type")
# skipping validation for payroll entry creation in case party is not required
if not frappe.flags.party_not_required_for_receivable_payable:
if account_type == "Receivable": if account_type == "Receivable":
frappe.throw( frappe.throw(
_("{0} {1}: Customer is required against Receivable account {2}").format( _("{0} {1}: Customer is required against Receivable account {2}").format(

View File

@@ -644,8 +644,11 @@ class JournalEntry(AccountsController):
def validate_party(self): def validate_party(self):
for d in self.get("accounts"): for d in self.get("accounts"):
account_type = frappe.get_cached_value("Account", d.account, "account_type") account_type = frappe.get_cached_value("Account", d.account, "account_type")
# skipping validation for payroll entry creation
skip_validation = frappe.flags.party_not_required_for_receivable_payable
if account_type in ["Receivable", "Payable"]: if account_type in ["Receivable", "Payable"]:
if not (d.party_type and d.party): if not (d.party_type and d.party) and not skip_validation:
frappe.throw( frappe.throw(
_( _(
"Row {0}: Party Type and Party is required for Receivable / Payable account {1}" "Row {0}: Party Type and Party is required for Receivable / Payable account {1}"