fix: Opening balance in presentation currency in Trial Balance report (#36036)
This commit is contained in:
parent
353d765140
commit
4d07e20b05
@ -650,7 +650,7 @@ def set_gl_entries_by_account(
|
|||||||
if filters and filters.get("presentation_currency") != d.default_currency:
|
if filters and filters.get("presentation_currency") != d.default_currency:
|
||||||
currency_info["company"] = d.name
|
currency_info["company"] = d.name
|
||||||
currency_info["company_currency"] = d.default_currency
|
currency_info["company_currency"] = d.default_currency
|
||||||
convert_to_presentation_currency(gl_entries, currency_info, filters.get("company"))
|
convert_to_presentation_currency(gl_entries, currency_info)
|
||||||
|
|
||||||
for entry in gl_entries:
|
for entry in gl_entries:
|
||||||
if entry.account_number:
|
if entry.account_number:
|
||||||
|
@ -462,7 +462,7 @@ def set_gl_entries_by_account(
|
|||||||
)
|
)
|
||||||
|
|
||||||
if filters and filters.get("presentation_currency"):
|
if filters and filters.get("presentation_currency"):
|
||||||
convert_to_presentation_currency(gl_entries, get_currency(filters), filters.get("company"))
|
convert_to_presentation_currency(gl_entries, get_currency(filters))
|
||||||
|
|
||||||
for entry in gl_entries:
|
for entry in gl_entries:
|
||||||
gl_entries_by_account.setdefault(entry.account, []).append(entry)
|
gl_entries_by_account.setdefault(entry.account, []).append(entry)
|
||||||
|
@ -204,7 +204,7 @@ def get_gl_entries(filters, accounting_dimensions):
|
|||||||
)
|
)
|
||||||
|
|
||||||
if filters.get("presentation_currency"):
|
if filters.get("presentation_currency"):
|
||||||
return convert_to_presentation_currency(gl_entries, currency_map, filters.get("company"))
|
return convert_to_presentation_currency(gl_entries, currency_map)
|
||||||
else:
|
else:
|
||||||
return gl_entries
|
return gl_entries
|
||||||
|
|
||||||
|
@ -17,6 +17,7 @@ from erpnext.accounts.report.financial_statements import (
|
|||||||
filter_out_zero_value_rows,
|
filter_out_zero_value_rows,
|
||||||
set_gl_entries_by_account,
|
set_gl_entries_by_account,
|
||||||
)
|
)
|
||||||
|
from erpnext.accounts.report.utils import convert_to_presentation_currency, get_currency
|
||||||
|
|
||||||
value_fields = (
|
value_fields = (
|
||||||
"opening_debit",
|
"opening_debit",
|
||||||
@ -178,8 +179,8 @@ def get_rootwise_opening_balances(filters, report_type):
|
|||||||
"opening_credit": 0.0,
|
"opening_credit": 0.0,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
opening[d.account]["opening_debit"] += flt(d.opening_debit)
|
opening[d.account]["opening_debit"] += flt(d.debit)
|
||||||
opening[d.account]["opening_credit"] += flt(d.opening_credit)
|
opening[d.account]["opening_credit"] += flt(d.credit)
|
||||||
|
|
||||||
return opening
|
return opening
|
||||||
|
|
||||||
@ -194,8 +195,11 @@ def get_opening_balance(
|
|||||||
frappe.qb.from_(closing_balance)
|
frappe.qb.from_(closing_balance)
|
||||||
.select(
|
.select(
|
||||||
closing_balance.account,
|
closing_balance.account,
|
||||||
Sum(closing_balance.debit).as_("opening_debit"),
|
closing_balance.account_currency,
|
||||||
Sum(closing_balance.credit).as_("opening_credit"),
|
Sum(closing_balance.debit).as_("debit"),
|
||||||
|
Sum(closing_balance.credit).as_("credit"),
|
||||||
|
Sum(closing_balance.debit_in_account_currency).as_("debit_in_account_currency"),
|
||||||
|
Sum(closing_balance.credit_in_account_currency).as_("credit_in_account_currency"),
|
||||||
)
|
)
|
||||||
.where(
|
.where(
|
||||||
(closing_balance.company == filters.company)
|
(closing_balance.company == filters.company)
|
||||||
@ -282,6 +286,9 @@ def get_opening_balance(
|
|||||||
|
|
||||||
gle = opening_balance.run(as_dict=1)
|
gle = opening_balance.run(as_dict=1)
|
||||||
|
|
||||||
|
if filters and filters.get("presentation_currency"):
|
||||||
|
convert_to_presentation_currency(gle, get_currency(filters))
|
||||||
|
|
||||||
return gle
|
return gle
|
||||||
|
|
||||||
|
|
||||||
|
@ -78,7 +78,7 @@ def get_rate_as_at(date, from_currency, to_currency):
|
|||||||
return rate
|
return rate
|
||||||
|
|
||||||
|
|
||||||
def convert_to_presentation_currency(gl_entries, currency_info, company):
|
def convert_to_presentation_currency(gl_entries, currency_info):
|
||||||
"""
|
"""
|
||||||
Take a list of GL Entries and change the 'debit' and 'credit' values to currencies
|
Take a list of GL Entries and change the 'debit' and 'credit' values to currencies
|
||||||
in `currency_info`.
|
in `currency_info`.
|
||||||
@ -93,7 +93,6 @@ def convert_to_presentation_currency(gl_entries, currency_info, company):
|
|||||||
account_currencies = list(set(entry["account_currency"] for entry in gl_entries))
|
account_currencies = list(set(entry["account_currency"] for entry in gl_entries))
|
||||||
|
|
||||||
for entry in gl_entries:
|
for entry in gl_entries:
|
||||||
account = entry["account"]
|
|
||||||
debit = flt(entry["debit"])
|
debit = flt(entry["debit"])
|
||||||
credit = flt(entry["credit"])
|
credit = flt(entry["credit"])
|
||||||
debit_in_account_currency = flt(entry["debit_in_account_currency"])
|
debit_in_account_currency = flt(entry["debit_in_account_currency"])
|
||||||
|
Loading…
x
Reference in New Issue
Block a user