diff --git a/dynamic_accounts_report/__manifest__.py b/dynamic_accounts_report/__manifest__.py index d3a36b161..af0e32a4c 100644 --- a/dynamic_accounts_report/__manifest__.py +++ b/dynamic_accounts_report/__manifest__.py @@ -21,7 +21,7 @@ ################################################################################ { 'name': 'Odoo17 Dynamic Accounting Reports', - 'version': '17.0.1.1.2', + 'version': '17.0.1.1.3', 'category': 'Accounting', 'summary': "Odoo 17 Accounting Financial Reports,Dynamic Accounting Reports, Dynamic Financial Reports,Dynamic Report Odoo17, Odoo17,Financial Reports, Odoo17 Accounting,Accounting, Odoo Apps", 'description': "This module creates dynamic Accounting General Ledger, Trial" diff --git a/dynamic_accounts_report/doc/RELEASE_NOTES.md b/dynamic_accounts_report/doc/RELEASE_NOTES.md index 26792beb6..de7000e35 100644 --- a/dynamic_accounts_report/doc/RELEASE_NOTES.md +++ b/dynamic_accounts_report/doc/RELEASE_NOTES.md @@ -14,3 +14,8 @@ #### Version 17.0.1.1.1 ##### BUG FIX - Added the initial balance in partner ledger (xlsx and PDF) + +#### 10.07.2024 +#### Version 17.0.1.1.3 +##### BUG FIX +- Fixed an issue where the Trial Balance initial balance was showing the total debit and credit amounts, even when the accounts were balanced. diff --git a/dynamic_accounts_report/models/account_trial_balance.py b/dynamic_accounts_report/models/account_trial_balance.py index 549474f03..890543ef8 100644 --- a/dynamic_accounts_report/models/account_trial_balance.py +++ b/dynamic_accounts_report/models/account_trial_balance.py @@ -54,10 +54,22 @@ class AccountTrialBalance(models.TransientModel): [('date', '<', get_month(today)[0]), ('account_id', '=', account_id.id), ('parent_state', '=', 'posted')]) - initial_total_debit = round( + + # Calculate raw totals + initial_total_debit_raw = round( sum(initial_move_line_ids.mapped('debit')), 2) - initial_total_credit = round( + initial_total_credit_raw = round( sum(initial_move_line_ids.mapped('credit')), 2) + + # Calculate NET initial balance + initial_diff = initial_total_debit_raw - initial_total_credit_raw + if initial_diff > 0: + initial_total_debit = initial_diff + initial_total_credit = 0.0 + else: + initial_total_debit = 0.0 + initial_total_credit = abs(initial_diff) + move_line_ids = self.env['account.move.line'].search( [('date', '>=', get_month(today)[0]), ('account_id', '=', account_id.id), @@ -161,12 +173,23 @@ class AccountTrialBalance(models.TransientModel): if method is not None and 'cash' in method: domain.append(('journal_id', 'in', self.env.company.tax_cash_basis_journal_id.ids)) - initial_move_line_ids = self.env['account.move.line'].search( - domain) - initial_total_debit = round( + initial_move_line_ids = self.env['account.move.line'].search(domain) + + # Calculate raw totals + initial_total_debit_raw = round( sum(initial_move_line_ids.mapped('debit')), 2) - initial_total_credit = round( + initial_total_credit_raw = round( sum(initial_move_line_ids.mapped('credit')), 2) + + # Calculate NET initial balance + initial_diff = initial_total_debit_raw - initial_total_credit_raw + if initial_diff > 0: + initial_total_debit = initial_diff + initial_total_credit = 0.0 + else: + initial_total_debit = 0.0 + initial_total_credit = abs(initial_diff) + if comparison_number: if comparison_type == 'year': for i in range(1, eval(comparison_number) + 1):