From 8d738cbbd4062a8d0aff126435ed4c42cef2a080 Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Mon, 3 Aug 2026 12:33:56 +0000 Subject: [PATCH] fix(accounts): fetch deferred invoice docs on non-empty `sales_docs` or `purchase_docs` in repost accounting ledger (backport #57753) (#57756) Co-authored-by: Diptanil Saha (cherry picked from commit ee4e296ce6ae7f875963b21baf22f80d6cb89783) --- .../repost_accounting_ledger.py | 29 +++++++++++-------- 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/erpnext/accounts/doctype/repost_accounting_ledger/repost_accounting_ledger.py b/erpnext/accounts/doctype/repost_accounting_ledger/repost_accounting_ledger.py index ebf79077cc8..6bab8ed2e1d 100644 --- a/erpnext/accounts/doctype/repost_accounting_ledger/repost_accounting_ledger.py +++ b/erpnext/accounts/doctype/repost_accounting_ledger/repost_accounting_ledger.py @@ -473,19 +473,24 @@ def get_child_docs(doc: list) -> list: def validate_docs_for_deferred_accounting(sales_docs, purchase_docs): - docs_with_deferred_revenue = frappe.db.get_all( - "Sales Invoice Item", - filters={"parent": ["in", sales_docs], "docstatus": 1, "enable_deferred_revenue": True}, - fields=["parent"], - as_list=1, - ) + docs_with_deferred_revenue = () + docs_with_deferred_expense = () - docs_with_deferred_expense = frappe.db.get_all( - "Purchase Invoice Item", - filters={"parent": ["in", purchase_docs], "docstatus": 1, "enable_deferred_expense": 1}, - fields=["parent"], - as_list=1, - ) + if sales_docs: + docs_with_deferred_revenue = frappe.db.get_all( + "Sales Invoice Item", + filters={"parent": ["in", sales_docs], "docstatus": 1, "enable_deferred_revenue": True}, + fields=["parent"], + as_list=1, + ) + + if purchase_docs: + docs_with_deferred_expense = frappe.db.get_all( + "Purchase Invoice Item", + filters={"parent": ["in", purchase_docs], "docstatus": 1, "enable_deferred_expense": 1}, + fields=["parent"], + as_list=1, + ) if docs_with_deferred_revenue or docs_with_deferred_expense: frappe.throw(