no cumul in initial balances in general ledger

This commit is contained in:
Florian du Garage Num 2024-11-21 20:53:49 +01:00
parent b4f483d6bd
commit 7fdd35345a
3 changed files with 36 additions and 9 deletions

View File

@ -26,6 +26,7 @@ It is based on modules:
## ChangeLog
- v16.0.0.0.9: no cumulative initial balance in general ledger
- v16.0.0.0.8: computing for init and end balance for unaffected in general ledger
- v16.0.0.0.7: unaffected earnings movements in general ledger
- v16.0.0.0.6: unaffected earnings movements in journal ledger

View File

@ -1,6 +1,6 @@
{
'name': "Gn Financial Report",
'version': '16.0.0.0.8',
'version': '16.0.0.0.9',
'author': 'Garage Numérique',
'category': 'Accounting',
'description': """

View File

@ -87,16 +87,17 @@ class GnGeneralLedgerReport(models.AbstractModel):
account[grouped_by] = False
del account["list_grouped"]
general_ledger = sorted(general_ledger, key=lambda k: k["code"])
unaffected_loss_account = self.env['account.account'].search([('code', '=', '119000')])
if unaffected_loss_account and len(unaffected_loss_account) == 1:
unaffected_loss_id = unaffected_loss_account[0].id
unaffected_profit_account = self.env['account.account'].search([('code', '=', '110000')])
if unaffected_profit_account and len(unaffected_profit_account) == 1:
unaffected_profit_id = unaffected_profit_account[0].id
# Unaffected earnings treatement
if general_ledger[-1]['code'] == '999999':
unaffected_loss_account = self.env['account.account'].search([('code', '=', '119000')])
if unaffected_loss_account and len(unaffected_loss_account) == 1:
unaffected_loss_id = unaffected_loss_account[0].id
unaffected_profit_account = self.env['account.account'].search([('code', '=', '110000')])
if unaffected_profit_account and len(unaffected_profit_account) == 1:
unaffected_profit_id = unaffected_profit_account[0].id
unaffected_id = unaffected_loss_id
unaffected_account = unaffected_loss_account[0]
if general_ledger[-1]['fin_bal']['balance'] < 0:
@ -113,8 +114,33 @@ class GnGeneralLedgerReport(models.AbstractModel):
for move_line in general_ledger[-1]['move_lines']:
move_line['account_id'] = unaffected_id
general_ledger = sorted(general_ledger, key=lambda k: k["code"])
# No cumul in initial balance
for elem in general_ledger:
if elem['init_bal']['balance'] < 0:
elem['init_bal']['debit'] = float(0.0)
elem['init_bal']['credit'] = elem['init_bal']['balance'] * -1
elif elem['init_bal']['balance'] > 0:
elem['init_bal']['credit'] = float(0.0)
elem['init_bal']['debit'] = elem['init_bal']['balance']
else:
elem['init_bal']['debit'] = float(0.0)
elem['init_bal']['credit'] = float(0.0)
if elem.get('list_grouped'):
for partner in elem['list_grouped']:
if partner['init_bal']['balance'] < 0:
partner['init_bal']['debit'] = float(0.0)
partner['init_bal']['credit'] = partner['init_bal']['balance'] * -1
elif partner['init_bal']['balance'] > 0:
partner['init_bal']['credit'] = float(0.0)
partner['init_bal']['debit'] = partner['init_bal']['balance']
else:
partner['init_bal']['debit'] = float(0.0)
partner['init_bal']['credit'] = float(0.0)
return {
"doc_ids": [wizard_id],
"doc_model": "general.ledger.report.wizard",