fix(dunning): include accounting dimension upon gl creation

This commit is contained in:
ravibharathi656
2025-08-22 12:34:39 +05:30
parent 43a723546d
commit 4fccef0636

View File

@@ -55,46 +55,46 @@ class Dunning(AccountsController):
"conversion_rate", "conversion_rate",
"cost_center", "cost_center",
] ]
inv = frappe.db.get_value("Sales Invoice", self.sales_invoice, invoice_fields, as_dict=1)
accounting_dimensions = get_accounting_dimensions() accounting_dimensions = get_accounting_dimensions()
invoice_fields.extend(accounting_dimensions) invoice_fields.extend(accounting_dimensions)
inv = frappe.db.get_value("Sales Invoice", self.sales_invoice, invoice_fields, as_dict=1)
dunning_in_company_currency = flt(self.dunning_amount * inv.conversion_rate) dunning_in_company_currency = flt(self.dunning_amount * inv.conversion_rate)
default_cost_center = frappe.get_cached_value("Company", self.company, "cost_center") default_cost_center = frappe.get_cached_value("Company", self.company, "cost_center")
gl_entries.append( debit = {
self.get_gl_dict( "account": inv.debit_to,
{ "party_type": "Customer",
"account": inv.debit_to, "party": self.customer,
"party_type": "Customer", "due_date": self.due_date,
"party": self.customer, "against": self.income_account,
"due_date": self.due_date, "debit": dunning_in_company_currency,
"against": self.income_account, "debit_in_account_currency": self.dunning_amount,
"debit": dunning_in_company_currency, "against_voucher": self.name,
"debit_in_account_currency": self.dunning_amount, "against_voucher_type": "Dunning",
"against_voucher": self.name, "cost_center": inv.cost_center or default_cost_center,
"against_voucher_type": "Dunning", "project": inv.project,
"cost_center": inv.cost_center or default_cost_center, }
"project": inv.project,
}, credit = {
inv.party_account_currency, "account": self.income_account,
item=inv, "against": self.customer,
) "credit": dunning_in_company_currency,
) "credit_in_account_currency": self.dunning_amount,
gl_entries.append( "cost_center": inv.cost_center or default_cost_center,
self.get_gl_dict( "project": inv.project,
{ }
"account": self.income_account,
"against": self.customer, for dimension in accounting_dimensions:
"credit": dunning_in_company_currency, if val := inv.get(dimension):
"cost_center": inv.cost_center or default_cost_center, debit[dimension] = credit[dimension] = val
"credit_in_account_currency": self.dunning_amount,
"project": inv.project, gl_entries = [
}, self.get_gl_dict(debit, inv.party_account_currency, item=inv),
item=inv, self.get_gl_dict(credit, item=inv),
) ]
)
make_gl_entries( make_gl_entries(
gl_entries, cancel=(self.docstatus == 2), update_outstanding="No", merge_entries=False gl_entries, cancel=(self.docstatus == 2), update_outstanding="No", merge_entries=False
) )