Merge pull request #48805 from frappe/mergify/bp/version-15-hotfix/pr-48676

fix: missing account in GL entries (subcontracting) (backport #48676)
This commit is contained in:
mergify[bot]
2025-07-29 11:48:12 +05:30
committed by GitHub
parent 92e315c4e1
commit 18b007dbf2
2 changed files with 26 additions and 0 deletions

View File

@@ -414,4 +414,5 @@ erpnext.patches.v15_0.update_pegged_currencies
erpnext.patches.v15_0.set_company_on_pos_inv_merge_log
erpnext.patches.v15_0.rename_price_list_to_buying_price_list
erpnext.patches.v15_0.remove_sales_partner_from_consolidated_sales_invoice
erpnext.patches.v15_0.repost_gl_entries_with_no_account_subcontracting
execute:frappe.db.set_single_value("Accounts Settings", "fetch_valuation_rate_for_internal_transaction", 1)

View File

@@ -0,0 +1,25 @@
import frappe
def execute():
docs = frappe.get_all(
"GL Entry",
filters={"voucher_type": "Subcontracting Receipt", "account": ["is", "not set"], "is_cancelled": 0},
pluck="voucher_no",
)
for doc in docs:
doc = frappe.get_doc("Subcontracting Receipt", doc)
for item in doc.supplied_items:
account, cost_center = frappe.db.get_values(
"Subcontracting Receipt Item", item.reference_name, ["expense_account", "cost_center"]
)[0]
if not item.expense_account:
item.db_set("expense_account", account)
if not item.cost_center:
item.db_set("cost_center", cost_center)
doc.docstatus = 2
doc.make_gl_entries_on_cancel()
doc.docstatus = 1
doc.make_gl_entries()