diff --git a/hrms/payroll/doctype/payroll_entry/payroll_entry.py b/hrms/payroll/doctype/payroll_entry/payroll_entry.py index b2d0ee3ad3..fd35642683 100644 --- a/hrms/payroll/doctype/payroll_entry/payroll_entry.py +++ b/hrms/payroll/doctype/payroll_entry/payroll_entry.py @@ -865,7 +865,7 @@ def has_bank_entries(self) -> dict[str, bool]: .on(je.name == jea.parent) .select(je.name) .where( - (je.voucher_type == "Bank Entry") + ((je.voucher_type == "Bank Entry") | (je.voucher_type == "Cash Entry")) & (jea.reference_name == self.name) & (jea.reference_type == "Payroll Entry") ) @@ -1098,7 +1098,9 @@ def set_accounting_entries_for_bank_entry( return self.make_journal_entry( accounts, currencies, - voucher_type="Bank Entry", + voucher_type="Cash Entry" + if frappe.get_cached_value("Account", self.payment_account, "account_type") == "Cash" + else "Bank Entry", user_remark=_("Payment of {0} from {1} to {2}").format( _(user_remark), self.start_date, self.end_date ), diff --git a/hrms/payroll/doctype/payroll_entry/test_payroll_entry.py b/hrms/payroll/doctype/payroll_entry/test_payroll_entry.py index 1742a3e7cf..4d1849b376 100644 --- a/hrms/payroll/doctype/payroll_entry/test_payroll_entry.py +++ b/hrms/payroll/doctype/payroll_entry/test_payroll_entry.py @@ -129,7 +129,7 @@ def test_multi_currency_payroll_entry(self): ifnull(sum(je.total_credit),0) as total_credit from `tabJournal Entry` je, `tabJournal Entry Account` jea where je.name = jea.parent - and je.voucher_type = 'Bank Entry' + and (je.voucher_type = 'Bank Entry' or je.voucher_type = 'Cash Entry') and jea.reference_name = %s """, payroll_entry.name, @@ -797,7 +797,7 @@ def run_test_for_loan_repayment_from_salary(self): SELECT je.total_debit, je.total_credit FROM `tabJournal Entry` je INNER JOIN `tabJournal Entry Account` jea ON je.name = jea.parent - WHERE je.voucher_type = 'Bank Entry' AND jea.reference_type = 'Payroll Entry' AND jea.reference_name = %s + WHERE (je.voucher_type = 'Bank Entry' or je.voucher_type = 'Cash Entry') AND jea.reference_type = 'Payroll Entry' AND jea.reference_name = %s LIMIT 1 """, payroll_entry.name,