From b1508efca24bbcbfd1c804a77fa611295679d800 Mon Sep 17 00:00:00 2001 From: Rohit Waghchaure Date: Wed, 5 Mar 2025 16:19:47 +0530 Subject: [PATCH] fix: Accounting Period validation throwing for different companies --- erpnext/accounts/utils.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/erpnext/accounts/utils.py b/erpnext/accounts/utils.py index eb11168562e..78a38ac7518 100644 --- a/erpnext/accounts/utils.py +++ b/erpnext/accounts/utils.py @@ -1451,7 +1451,7 @@ def repost_gle_for_stock_vouchers( if not warehouse_account: warehouse_account = get_warehouse_account_map(company) - stock_vouchers = sort_stock_vouchers_by_posting_date(stock_vouchers) + stock_vouchers = sort_stock_vouchers_by_posting_date(stock_vouchers, company=company) if repost_doc and repost_doc.gl_reposting_index: # Restore progress stock_vouchers = stock_vouchers[cint(repost_doc.gl_reposting_index) :] @@ -1504,7 +1504,9 @@ def _delete_accounting_ledger_entries(voucher_type, voucher_no): _delete_pl_entries(voucher_type, voucher_no) -def sort_stock_vouchers_by_posting_date(stock_vouchers: list[tuple[str, str]]) -> list[tuple[str, str]]: +def sort_stock_vouchers_by_posting_date( + stock_vouchers: list[tuple[str, str]], company=None +) -> list[tuple[str, str]]: sle = frappe.qb.DocType("Stock Ledger Entry") voucher_nos = [v[1] for v in stock_vouchers] @@ -1515,7 +1517,12 @@ def sort_stock_vouchers_by_posting_date(stock_vouchers: list[tuple[str, str]]) - .groupby(sle.voucher_type, sle.voucher_no) .orderby(sle.posting_datetime) .orderby(sle.creation) - ).run(as_dict=True) + ) + + if company: + sles = sles.where(sle.company == company) + + sles = sles.run(as_dict=True) sorted_vouchers = [(sle.voucher_type, sle.voucher_no) for sle in sles] unknown_vouchers = set(stock_vouchers) - set(sorted_vouchers)