From 2c8e3f3409bd755ebd0ce7faa22f7aa1ac148d7a Mon Sep 17 00:00:00 2001 From: rethik Date: Mon, 3 Feb 2025 19:22:37 +0530 Subject: [PATCH 1/3] fix: add validate to allow equity account and party_type shareholder --- erpnext/accounts/party.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/erpnext/accounts/party.py b/erpnext/accounts/party.py index 477573554f0..452632fb6d4 100644 --- a/erpnext/accounts/party.py +++ b/erpnext/accounts/party.py @@ -777,7 +777,11 @@ def validate_account_party_type(self): if self.party_type and self.party: account_type = frappe.get_cached_value("Account", self.account, "account_type") - if account_type and (account_type not in ["Receivable", "Payable"]): + if ( + account_type + and (account_type not in ["Receivable", "Payable", "Equity"]) + and self.party_type != "Shareholder" + ): frappe.throw( _( "Party Type and Party can only be set for Receivable / Payable account

" "{0}" From 9422ce5aee303c738de4fda9dc01cc02fd1bbfc9 Mon Sep 17 00:00:00 2001 From: rethik Date: Mon, 3 Feb 2025 19:29:59 +0530 Subject: [PATCH 2/3] test: add unit test to validate account type and party type --- .../accounts/doctype/gl_entry/test_gl_entry.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/erpnext/accounts/doctype/gl_entry/test_gl_entry.py b/erpnext/accounts/doctype/gl_entry/test_gl_entry.py index 209454e7b21..11269f005db 100644 --- a/erpnext/accounts/doctype/gl_entry/test_gl_entry.py +++ b/erpnext/accounts/doctype/gl_entry/test_gl_entry.py @@ -123,3 +123,20 @@ class TestGLEntry(IntegrationTestCase): str(e), "Party Type and Party can only be set for Receivable / Payable account_Test Account Cost for Goods Sold - _TC", ) + + def test_validate_account_party_type_shareholder(self): + jv = make_journal_entry( + "Opening Balance Equity - _TC", + "Cash - _TC", + 100, + "_Test Cost Center - _TC", + save=False, + submit=False, + ) + + for row in jv.accounts: + row.party_type = "Shareholder" + break + + jv.save().submit() + self.assertEqual(1, jv.docstatus) From f82837a4a28d387a4e80ec0df9729ddfa104240f Mon Sep 17 00:00:00 2001 From: rethik Date: Tue, 4 Feb 2025 11:07:41 +0530 Subject: [PATCH 3/3] fix: remove party type from validate --- erpnext/accounts/party.py | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/erpnext/accounts/party.py b/erpnext/accounts/party.py index 452632fb6d4..f959af587f5 100644 --- a/erpnext/accounts/party.py +++ b/erpnext/accounts/party.py @@ -777,11 +777,7 @@ def validate_account_party_type(self): if self.party_type and self.party: account_type = frappe.get_cached_value("Account", self.account, "account_type") - if ( - account_type - and (account_type not in ["Receivable", "Payable", "Equity"]) - and self.party_type != "Shareholder" - ): + if account_type and (account_type not in ["Receivable", "Payable", "Equity"]): frappe.throw( _( "Party Type and Party can only be set for Receivable / Payable account

" "{0}"