From 75c25375a8c4b1d4f64bdc1dbab16a7ae2f28e2e Mon Sep 17 00:00:00 2001 From: sergiocorato Date: Mon, 18 Nov 2024 16:42:15 +0100 Subject: [PATCH] [14.0][FIX] l10n_it_financial_statements_report P&L balance for period --- .../report/__init__.py | 1 + .../report/trial_balance.py | 24 +++++++++++++++++++ 2 files changed, 25 insertions(+) create mode 100644 l10n_it_financial_statements_report/report/trial_balance.py diff --git a/l10n_it_financial_statements_report/report/__init__.py b/l10n_it_financial_statements_report/report/__init__.py index bbf1b4015a88..9e818a6394d5 100644 --- a/l10n_it_financial_statements_report/report/__init__.py +++ b/l10n_it_financial_statements_report/report/__init__.py @@ -1,4 +1,5 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). +from . import trial_balance from . import financial_statements_report from . import financial_statements_report_xlsx diff --git a/l10n_it_financial_statements_report/report/trial_balance.py b/l10n_it_financial_statements_report/report/trial_balance.py new file mode 100644 index 000000000000..c52dec9d644f --- /dev/null +++ b/l10n_it_financial_statements_report/report/trial_balance.py @@ -0,0 +1,24 @@ +from odoo import api, models + + +class TrialBalanceReport(models.AbstractModel): + _inherit = "report.account_financial_report.trial_balance" + + @api.model + def _compute_account_amount( + self, total_amount, tb_initial_acc, tb_period_acc, foreign_currency + ): + total_amount = super()._compute_account_amount( + total_amount, tb_initial_acc, tb_period_acc, foreign_currency + ) + for tb in tb_initial_acc: + acc_id = tb["account_id"] + if tb["account_internal_group"] in ["expense", "income"]: + total_amount[acc_id]["initial_balance"] = 0.0 + total_amount[acc_id]["ending_balance"] = total_amount[acc_id]["balance"] + if foreign_currency: + total_amount[acc_id]["initial_currency_balance"] = 0.0 + total_amount[acc_id]["ending_currency_balance"] += round( + total_amount[acc_id]["amount_currency"], 2 + ) + return total_amount