odoo-addon-account-financial-report 16.0.1.15.2__py3-none-any.whl → 16.0.1.16.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of odoo-addon-account-financial-report might be problematic. Click here for more details.
- odoo/addons/account_financial_report/README.rst +14 -1
- odoo/addons/account_financial_report/__manifest__.py +5 -1
- odoo/addons/account_financial_report/data/report_column_data.xml +358 -0
- odoo/addons/account_financial_report/i18n/account_financial_report.pot +125 -0
- odoo/addons/account_financial_report/i18n/ar.po +1 -1
- odoo/addons/account_financial_report/i18n/ca.po +1 -1
- odoo/addons/account_financial_report/i18n/de.po +1 -1
- odoo/addons/account_financial_report/i18n/es.po +11 -6
- odoo/addons/account_financial_report/i18n/es_AR.po +1 -1
- odoo/addons/account_financial_report/i18n/es_MX.po +1 -1
- odoo/addons/account_financial_report/i18n/fr.po +1 -1
- odoo/addons/account_financial_report/i18n/fr_CH.po +1 -1
- odoo/addons/account_financial_report/i18n/fr_FR.po +1 -1
- odoo/addons/account_financial_report/i18n/hr.po +1 -1
- odoo/addons/account_financial_report/i18n/hr_HR.po +1 -1
- odoo/addons/account_financial_report/i18n/it.po +1 -1
- odoo/addons/account_financial_report/i18n/ja.po +1 -1
- odoo/addons/account_financial_report/i18n/nl.po +1 -1
- odoo/addons/account_financial_report/i18n/nl_NL.po +1 -1
- odoo/addons/account_financial_report/i18n/pt.po +1 -1
- odoo/addons/account_financial_report/i18n/pt_BR.po +1 -1
- odoo/addons/account_financial_report/i18n/ro.po +1 -1
- odoo/addons/account_financial_report/i18n/sv.po +1 -1
- odoo/addons/account_financial_report/i18n/tr.po +1 -1
- odoo/addons/account_financial_report/models/__init__.py +1 -0
- odoo/addons/account_financial_report/models/account_financial_report_column.py +17 -0
- odoo/addons/account_financial_report/readme/CONTRIBUTORS.rst +1 -0
- odoo/addons/account_financial_report/readme/DESCRIPTION.rst +3 -0
- odoo/addons/account_financial_report/readme/HISTORY.rst +5 -0
- odoo/addons/account_financial_report/readme/ROADMAP.rst +3 -0
- odoo/addons/account_financial_report/report/abstract_report.py +15 -0
- odoo/addons/account_financial_report/report/aged_partner_balance.py +18 -12
- odoo/addons/account_financial_report/report/general_ledger.py +27 -24
- odoo/addons/account_financial_report/report/journal_ledger.py +27 -22
- odoo/addons/account_financial_report/report/open_items.py +24 -19
- odoo/addons/account_financial_report/report/templates/general_ledger.xml +116 -52
- odoo/addons/account_financial_report/report/templates/journal_ledger.xml +79 -31
- odoo/addons/account_financial_report/report/templates/open_items.xml +51 -22
- odoo/addons/account_financial_report/report/trial_balance.py +30 -26
- odoo/addons/account_financial_report/report/vat_report.py +21 -16
- odoo/addons/account_financial_report/security/ir.model.access.csv +1 -0
- odoo/addons/account_financial_report/static/description/index.html +33 -19
- odoo/addons/account_financial_report/tests/test_aged_partner_balance.py +4 -4
- odoo/addons/account_financial_report/tests/test_general_ledger.py +1 -1
- odoo/addons/account_financial_report/tests/test_journal_ledger.py +5 -5
- odoo/addons/account_financial_report/tests/test_open_items.py +1 -1
- odoo/addons/account_financial_report/tests/test_trial_balance.py +4 -4
- odoo/addons/account_financial_report/tests/test_vat_report.py +1 -1
- odoo/addons/account_financial_report/view/account_financial_report_column_view.xml +46 -0
- odoo/addons/account_financial_report/wizard/abstract_wizard.py +25 -1
- odoo/addons/account_financial_report/wizard/aged_partner_balance_wizard.py +17 -15
- odoo/addons/account_financial_report/wizard/general_ledger_wizard.py +26 -23
- odoo/addons/account_financial_report/wizard/general_ledger_wizard_view.xml +7 -0
- odoo/addons/account_financial_report/wizard/journal_ledger_wizard.py +19 -17
- odoo/addons/account_financial_report/wizard/journal_ledger_wizard_view.xml +48 -32
- odoo/addons/account_financial_report/wizard/open_items_wizard.py +20 -18
- odoo/addons/account_financial_report/wizard/open_items_wizard_view.xml +67 -54
- odoo/addons/account_financial_report/wizard/trial_balance_wizard.py +26 -24
- odoo/addons/account_financial_report/wizard/vat_report_wizard.py +15 -13
- {odoo_addon_account_financial_report-16.0.1.15.2.dist-info → odoo_addon_account_financial_report-16.0.1.16.0.dist-info}/METADATA +16 -3
- {odoo_addon_account_financial_report-16.0.1.15.2.dist-info → odoo_addon_account_financial_report-16.0.1.16.0.dist-info}/RECORD +63 -60
- {odoo_addon_account_financial_report-16.0.1.15.2.dist-info → odoo_addon_account_financial_report-16.0.1.16.0.dist-info}/WHEEL +0 -0
- {odoo_addon_account_financial_report-16.0.1.15.2.dist-info → odoo_addon_account_financial_report-16.0.1.16.0.dist-info}/top_level.txt +0 -0
|
@@ -5,3 +5,6 @@
|
|
|
5
5
|
* It would be nice to have in reports a column indicating the
|
|
6
6
|
state of the entries when the option "All Entries" is selected
|
|
7
7
|
in "Target Moves" field in a wizard
|
|
8
|
+
* Adapt reports so that the order of the columns displayed is dynamic
|
|
9
|
+
* Remove duplicated options to show columns (it has not been made in a stable version so
|
|
10
|
+
as not to generate confusion in users)
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
# Copyright 2020 ForgeFlow S.L. (https://www.forgeflow.com)
|
|
2
|
+
# Copyright 2025 Tecnativa - Carlos Dauden
|
|
2
3
|
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
|
3
4
|
|
|
4
5
|
from odoo import api, models
|
|
@@ -160,3 +161,17 @@ class AgedPartnerBalanceReport(models.AbstractModel):
|
|
|
160
161
|
"debit",
|
|
161
162
|
"amount_currency",
|
|
162
163
|
]
|
|
164
|
+
|
|
165
|
+
def _get_report_values(self, docids, data):
|
|
166
|
+
wizard = self.env[data["wizard_name"]].browse(data["wizard_id"])
|
|
167
|
+
res = {f"{c.expression_label}_visible": c.is_visible for c in wizard.column_ids}
|
|
168
|
+
res.update(
|
|
169
|
+
{
|
|
170
|
+
f"{c.expression_label}_limit": c.limit
|
|
171
|
+
for c in wizard.column_ids
|
|
172
|
+
if c.field_type == "string"
|
|
173
|
+
}
|
|
174
|
+
)
|
|
175
|
+
# Pass function to be called in report
|
|
176
|
+
res["limit_text"] = wizard._limit_text
|
|
177
|
+
return res
|
|
@@ -403,6 +403,7 @@ class AgedPartnerBalanceReport(models.AbstractModel):
|
|
|
403
403
|
return aged_partner_data
|
|
404
404
|
|
|
405
405
|
def _get_report_values(self, docids, data):
|
|
406
|
+
res = super()._get_report_values(docids, data)
|
|
406
407
|
wizard_id = data["wizard_id"]
|
|
407
408
|
company = self.env["res.company"].browse(data["company_id"])
|
|
408
409
|
company_id = data["company_id"]
|
|
@@ -440,18 +441,23 @@ class AgedPartnerBalanceReport(models.AbstractModel):
|
|
|
440
441
|
aged_partner_data = self.with_context(
|
|
441
442
|
age_partner_config=aged_partner_configuration
|
|
442
443
|
)._calculate_percent(aged_partner_data)
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
444
|
+
res.update(
|
|
445
|
+
{
|
|
446
|
+
"doc_ids": [wizard_id],
|
|
447
|
+
"doc_model": "aged.partner.balance.report.wizard",
|
|
448
|
+
"docs": self.env["aged.partner.balance.report.wizard"].browse(
|
|
449
|
+
wizard_id
|
|
450
|
+
),
|
|
451
|
+
"company_name": company.display_name,
|
|
452
|
+
"currency_name": company.currency_id.name,
|
|
453
|
+
"date_at": date_at,
|
|
454
|
+
"only_posted_moves": only_posted_moves,
|
|
455
|
+
"aged_partner_balance": aged_partner_data,
|
|
456
|
+
"show_move_lines_details": show_move_line_details,
|
|
457
|
+
"age_partner_config": aged_partner_configuration,
|
|
458
|
+
}
|
|
459
|
+
)
|
|
460
|
+
return res
|
|
455
461
|
|
|
456
462
|
def _get_ml_fields(self):
|
|
457
463
|
return self.COMMON_ML_FIELDS + [
|
|
@@ -376,7 +376,6 @@ class GeneralLedgerReport(models.AbstractModel):
|
|
|
376
376
|
domain += [("move_id.state", "=", "posted")]
|
|
377
377
|
else:
|
|
378
378
|
domain += [("move_id.state", "in", ["posted", "draft"])]
|
|
379
|
-
|
|
380
379
|
if cost_center_ids:
|
|
381
380
|
domain += [("analytic_account_ids", "in", cost_center_ids)]
|
|
382
381
|
return domain
|
|
@@ -749,6 +748,7 @@ class GeneralLedgerReport(models.AbstractModel):
|
|
|
749
748
|
|
|
750
749
|
# flake8: noqa: C901
|
|
751
750
|
def _get_report_values(self, docids, data):
|
|
751
|
+
res = super()._get_report_values(docids, data)
|
|
752
752
|
wizard_id = data["wizard_id"]
|
|
753
753
|
company = self.env["res.company"].browse(data["company_id"])
|
|
754
754
|
company_id = data["company_id"]
|
|
@@ -877,29 +877,32 @@ class GeneralLedgerReport(models.AbstractModel):
|
|
|
877
877
|
if not gl_item["currency_id"] and len(fin_bal_currency_ids) == 1:
|
|
878
878
|
fin_bal_currency_id = fin_bal_currency_ids[0]
|
|
879
879
|
gl_item["fin_bal_currency_id"] = fin_bal_currency_id
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
880
|
+
res.update(
|
|
881
|
+
{
|
|
882
|
+
"doc_ids": [wizard_id],
|
|
883
|
+
"doc_model": "general.ledger.report.wizard",
|
|
884
|
+
"docs": self.env["general.ledger.report.wizard"].browse(wizard_id),
|
|
885
|
+
"foreign_currency": data["foreign_currency"],
|
|
886
|
+
"company_name": company.display_name,
|
|
887
|
+
"company_currency": company.currency_id,
|
|
888
|
+
"currency_name": company.currency_id.name,
|
|
889
|
+
"date_from": data["date_from"],
|
|
890
|
+
"date_to": data["date_to"],
|
|
891
|
+
"only_posted_moves": data["only_posted_moves"],
|
|
892
|
+
"hide_account_at_0": data["hide_account_at_0"],
|
|
893
|
+
"show_cost_center": data["show_cost_center"],
|
|
894
|
+
"general_ledger": general_ledger,
|
|
895
|
+
"accounts_data": accounts_data,
|
|
896
|
+
"journals_data": journals_data,
|
|
897
|
+
"full_reconcile_data": full_reconcile_data,
|
|
898
|
+
"taxes_data": taxes_data,
|
|
899
|
+
"centralize": centralize,
|
|
900
|
+
"analytic_data": analytic_data,
|
|
901
|
+
"filter_partner_ids": True if partner_ids else False,
|
|
902
|
+
"currency_model": self.env["res.currency"],
|
|
903
|
+
}
|
|
904
|
+
)
|
|
905
|
+
return res
|
|
903
906
|
|
|
904
907
|
def _get_ml_fields(self):
|
|
905
908
|
return self.COMMON_ML_FIELDS + [
|
|
@@ -9,6 +9,7 @@ from odoo import models
|
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
class JournalLedgerReport(models.AbstractModel):
|
|
12
|
+
_inherit = "report.account_financial_report.abstract_report"
|
|
12
13
|
_name = "report.account_financial_report.journal_ledger"
|
|
13
14
|
_description = "Journal Ledger Report"
|
|
14
15
|
|
|
@@ -298,6 +299,7 @@ class JournalLedgerReport(models.AbstractModel):
|
|
|
298
299
|
return journals_taxes_data_2
|
|
299
300
|
|
|
300
301
|
def _get_report_values(self, docids, data):
|
|
302
|
+
res = super()._get_report_values(docids, data)
|
|
301
303
|
wizard_id = data["wizard_id"]
|
|
302
304
|
wizard = self.env["journal.ledger.report.wizard"].browse(wizard_id)
|
|
303
305
|
company = self.env["res.company"].browse(data["company_id"])
|
|
@@ -351,25 +353,28 @@ class JournalLedgerReport(models.AbstractModel):
|
|
|
351
353
|
if journal_id in journal_totals.keys():
|
|
352
354
|
for item in ["debit", "credit"]:
|
|
353
355
|
journal_ledger_data[item] += journal_totals[journal_id][item]
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
356
|
+
res.update(
|
|
357
|
+
{
|
|
358
|
+
"doc_ids": [wizard_id],
|
|
359
|
+
"doc_model": "journal.ledger.report.wizard",
|
|
360
|
+
"docs": self.env["journal.ledger.report.wizard"].browse(wizard_id),
|
|
361
|
+
"group_option": data["group_option"],
|
|
362
|
+
"foreign_currency": data["foreign_currency"],
|
|
363
|
+
"with_account_name": data["with_account_name"],
|
|
364
|
+
"company_name": company.display_name,
|
|
365
|
+
"currency_name": company.currency_id.name,
|
|
366
|
+
"date_from": data["date_from"],
|
|
367
|
+
"date_to": data["date_to"],
|
|
368
|
+
"move_target": data["move_target"],
|
|
369
|
+
"with_auto_sequence": data["with_auto_sequence"],
|
|
370
|
+
"account_ids_data": account_ids_data,
|
|
371
|
+
"partner_ids_data": partner_ids_data,
|
|
372
|
+
"currency_ids_data": currency_ids_data,
|
|
373
|
+
"move_ids_data": move_ids_data,
|
|
374
|
+
"tax_line_data": tax_line_ids_data,
|
|
375
|
+
"move_line_ids_taxes_data": move_line_ids_taxes_data,
|
|
376
|
+
"Journal_Ledgers": journal_ledgers_data,
|
|
377
|
+
"Moves": moves_data,
|
|
378
|
+
}
|
|
379
|
+
)
|
|
380
|
+
return res
|
|
@@ -159,7 +159,7 @@ class OpenItemsReport(models.AbstractModel):
|
|
|
159
159
|
"partner_name": partner.name or "",
|
|
160
160
|
"ref_label": ref_label,
|
|
161
161
|
"journal_id": move_line["journal_id"][0],
|
|
162
|
-
"move_name": move_line["
|
|
162
|
+
"move_name": move_line["move_name"],
|
|
163
163
|
"entry_id": move_line["move_id"][0],
|
|
164
164
|
"currency_id": move_line["currency_id"][0]
|
|
165
165
|
if move_line["currency_id"]
|
|
@@ -243,6 +243,7 @@ class OpenItemsReport(models.AbstractModel):
|
|
|
243
243
|
return new_open_items
|
|
244
244
|
|
|
245
245
|
def _get_report_values(self, docids, data):
|
|
246
|
+
res = super()._get_report_values(docids, data)
|
|
246
247
|
wizard_id = data["wizard_id"]
|
|
247
248
|
company = self.env["res.company"].browse(data["company_id"])
|
|
248
249
|
company_id = data["company_id"]
|
|
@@ -277,24 +278,27 @@ class OpenItemsReport(models.AbstractModel):
|
|
|
277
278
|
partners_data,
|
|
278
279
|
accounts_data,
|
|
279
280
|
)
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
281
|
+
res.update(
|
|
282
|
+
{
|
|
283
|
+
"doc_ids": [wizard_id],
|
|
284
|
+
"doc_model": "open.items.report.wizard",
|
|
285
|
+
"docs": self.env["open.items.report.wizard"].browse(wizard_id),
|
|
286
|
+
"foreign_currency": data["foreign_currency"],
|
|
287
|
+
"show_partner_details": data["show_partner_details"],
|
|
288
|
+
"company_name": company.display_name,
|
|
289
|
+
"currency_name": company.currency_id.name,
|
|
290
|
+
"date_at": date_at_object.strftime("%d/%m/%Y"),
|
|
291
|
+
"hide_account_at_0": data["hide_account_at_0"],
|
|
292
|
+
"target_move": data["target_move"],
|
|
293
|
+
"journals_data": journals_data,
|
|
294
|
+
"partners_data": partners_data,
|
|
295
|
+
"accounts_data": accounts_data,
|
|
296
|
+
"total_amount": total_amount,
|
|
297
|
+
"Open_Items": open_items_move_lines_data,
|
|
298
|
+
"grouped_by": grouped_by,
|
|
299
|
+
}
|
|
300
|
+
)
|
|
301
|
+
return res
|
|
298
302
|
|
|
299
303
|
def _get_ml_fields(self):
|
|
300
304
|
return self.COMMON_ML_FIELDS + [
|
|
@@ -306,4 +310,5 @@ class OpenItemsReport(models.AbstractModel):
|
|
|
306
310
|
"amount_residual_currency",
|
|
307
311
|
"debit",
|
|
308
312
|
"amount_currency",
|
|
313
|
+
"move_name",
|
|
309
314
|
]
|