odoo-addon-account-financial-report 15.0.1.1.0.1__py3-none-any.whl → 18.0.1.4.4.3__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.
Files changed (104) hide show
  1. odoo/addons/account_financial_report/README.rst +131 -74
  2. odoo/addons/account_financial_report/__manifest__.py +6 -9
  3. odoo/addons/account_financial_report/i18n/account_financial_report.pot +313 -188
  4. odoo/addons/account_financial_report/i18n/ar.po +579 -433
  5. odoo/addons/account_financial_report/i18n/ca.po +474 -289
  6. odoo/addons/account_financial_report/i18n/{fr_FR.po → ca_AD.po} +539 -491
  7. odoo/addons/account_financial_report/i18n/ca_ES.po +1891 -0
  8. odoo/addons/account_financial_report/i18n/de.po +455 -295
  9. odoo/addons/account_financial_report/i18n/es.po +458 -394
  10. odoo/addons/account_financial_report/i18n/es_AR.po +464 -283
  11. odoo/addons/account_financial_report/i18n/es_MX.po +315 -220
  12. odoo/addons/account_financial_report/i18n/fr.po +620 -435
  13. odoo/addons/account_financial_report/i18n/fr_CH.po +616 -462
  14. odoo/addons/account_financial_report/i18n/hr.po +506 -355
  15. odoo/addons/account_financial_report/i18n/hr_HR.po +331 -232
  16. odoo/addons/account_financial_report/i18n/it.po +538 -356
  17. odoo/addons/account_financial_report/i18n/ja.po +339 -240
  18. odoo/addons/account_financial_report/i18n/nl.po +462 -324
  19. odoo/addons/account_financial_report/i18n/nl_NL.po +318 -220
  20. odoo/addons/account_financial_report/i18n/pt.po +429 -242
  21. odoo/addons/account_financial_report/i18n/pt_BR.po +588 -438
  22. odoo/addons/account_financial_report/i18n/ro.po +499 -342
  23. odoo/addons/account_financial_report/i18n/sl.po +1945 -0
  24. odoo/addons/account_financial_report/i18n/sv.po +1997 -0
  25. odoo/addons/account_financial_report/i18n/tr.po +1947 -0
  26. odoo/addons/account_financial_report/menuitems.xml +1 -1
  27. odoo/addons/account_financial_report/models/__init__.py +2 -0
  28. odoo/addons/account_financial_report/models/account_age_report_configuration.py +49 -0
  29. odoo/addons/account_financial_report/models/account_group.py +62 -23
  30. odoo/addons/account_financial_report/models/account_move_line.py +33 -3
  31. odoo/addons/account_financial_report/models/ir_actions_report.py +6 -4
  32. odoo/addons/account_financial_report/models/res_config_settings.py +36 -0
  33. odoo/addons/account_financial_report/readme/CONFIGURE.md +26 -0
  34. odoo/addons/account_financial_report/readme/CONTRIBUTORS.md +38 -0
  35. odoo/addons/account_financial_report/readme/CREDITS.md +1 -0
  36. odoo/addons/account_financial_report/readme/DESCRIPTION.md +21 -0
  37. odoo/addons/account_financial_report/readme/HISTORY.md +16 -0
  38. odoo/addons/account_financial_report/readme/ROADMAP.md +6 -0
  39. odoo/addons/account_financial_report/report/abstract_report.py +73 -23
  40. odoo/addons/account_financial_report/report/abstract_report_xlsx.py +28 -23
  41. odoo/addons/account_financial_report/report/aged_partner_balance.py +131 -30
  42. odoo/addons/account_financial_report/report/aged_partner_balance_xlsx.py +158 -118
  43. odoo/addons/account_financial_report/report/general_ledger.py +421 -340
  44. odoo/addons/account_financial_report/report/general_ledger_xlsx.py +127 -75
  45. odoo/addons/account_financial_report/report/journal_ledger.py +84 -68
  46. odoo/addons/account_financial_report/report/journal_ledger_xlsx.py +14 -8
  47. odoo/addons/account_financial_report/report/open_items.py +113 -70
  48. odoo/addons/account_financial_report/report/open_items_xlsx.py +152 -19
  49. odoo/addons/account_financial_report/report/templates/aged_partner_balance.xml +408 -311
  50. odoo/addons/account_financial_report/report/templates/general_ledger.xml +273 -213
  51. odoo/addons/account_financial_report/report/templates/journal_ledger.xml +70 -76
  52. odoo/addons/account_financial_report/report/templates/layouts.xml +12 -1
  53. odoo/addons/account_financial_report/report/templates/open_items.xml +181 -55
  54. odoo/addons/account_financial_report/report/templates/trial_balance.xml +304 -195
  55. odoo/addons/account_financial_report/report/templates/vat_report.xml +10 -10
  56. odoo/addons/account_financial_report/report/trial_balance.py +463 -211
  57. odoo/addons/account_financial_report/report/trial_balance_xlsx.py +37 -38
  58. odoo/addons/account_financial_report/report/vat_report.py +36 -25
  59. odoo/addons/account_financial_report/report/vat_report_xlsx.py +1 -1
  60. odoo/addons/account_financial_report/security/ir.model.access.csv +2 -0
  61. odoo/addons/account_financial_report/security/security.xml +8 -0
  62. odoo/addons/account_financial_report/static/description/index.html +106 -55
  63. odoo/addons/account_financial_report/static/src/css/report.css +77 -42
  64. odoo/addons/account_financial_report/static/src/css/report_html.css +10 -0
  65. odoo/addons/account_financial_report/static/src/js/report.esm.js +72 -0
  66. odoo/addons/account_financial_report/static/src/js/report_action.esm.js +39 -0
  67. odoo/addons/account_financial_report/static/src/xml/report.xml +10 -9
  68. odoo/addons/account_financial_report/tests/__init__.py +1 -0
  69. odoo/addons/account_financial_report/tests/test_age_report_configuration.py +42 -0
  70. odoo/addons/account_financial_report/tests/test_aged_partner_balance.py +99 -9
  71. odoo/addons/account_financial_report/tests/test_general_ledger.py +19 -9
  72. odoo/addons/account_financial_report/tests/test_journal_ledger.py +18 -9
  73. odoo/addons/account_financial_report/tests/test_open_items.py +42 -2
  74. odoo/addons/account_financial_report/tests/test_trial_balance.py +114 -223
  75. odoo/addons/account_financial_report/tests/test_vat_report.py +17 -9
  76. odoo/addons/account_financial_report/view/account_age_report_configuration_views.xml +41 -0
  77. odoo/addons/account_financial_report/view/res_config_settings_views.xml +51 -0
  78. odoo/addons/account_financial_report/wizard/abstract_wizard.py +23 -0
  79. odoo/addons/account_financial_report/wizard/aged_partner_balance_wizard.py +22 -8
  80. odoo/addons/account_financial_report/wizard/aged_partner_balance_wizard_view.xml +2 -3
  81. odoo/addons/account_financial_report/wizard/general_ledger_wizard.py +42 -36
  82. odoo/addons/account_financial_report/wizard/general_ledger_wizard_view.xml +26 -41
  83. odoo/addons/account_financial_report/wizard/journal_ledger_wizard.py +19 -7
  84. odoo/addons/account_financial_report/wizard/journal_ledger_wizard_view.xml +15 -14
  85. odoo/addons/account_financial_report/wizard/open_items_wizard.py +34 -8
  86. odoo/addons/account_financial_report/wizard/open_items_wizard_view.xml +16 -14
  87. odoo/addons/account_financial_report/wizard/trial_balance_wizard.py +68 -45
  88. odoo/addons/account_financial_report/wizard/trial_balance_wizard_view.xml +40 -39
  89. odoo/addons/account_financial_report/wizard/vat_report_wizard.py +9 -3
  90. odoo/addons/account_financial_report/wizard/vat_report_wizard_view.xml +14 -14
  91. odoo_addon_account_financial_report-18.0.1.4.4.3.dist-info/METADATA +234 -0
  92. odoo_addon_account_financial_report-18.0.1.4.4.3.dist-info/RECORD +107 -0
  93. {odoo_addon_account_financial_report-15.0.1.1.0.1.dist-info → odoo_addon_account_financial_report-18.0.1.4.4.3.dist-info}/WHEEL +1 -1
  94. odoo_addon_account_financial_report-18.0.1.4.4.3.dist-info/top_level.txt +1 -0
  95. odoo/addons/account_financial_report/readme/CONTRIBUTORS.rst +0 -35
  96. odoo/addons/account_financial_report/readme/DESCRIPTION.rst +0 -16
  97. odoo/addons/account_financial_report/readme/HISTORY.rst +0 -19
  98. odoo/addons/account_financial_report/readme/ROADMAP.rst +0 -7
  99. odoo/addons/account_financial_report/static/src/js/action_manager_report.js +0 -37
  100. odoo/addons/account_financial_report/static/src/js/client_action.js +0 -58
  101. odoo/addons/account_financial_report/static/src/js/report.js +0 -58
  102. odoo_addon_account_financial_report-15.0.1.1.0.1.dist-info/METADATA +0 -179
  103. odoo_addon_account_financial_report-15.0.1.1.0.1.dist-info/RECORD +0 -95
  104. odoo_addon_account_financial_report-15.0.1.1.0.1.dist-info/top_level.txt +0 -1
@@ -3,7 +3,7 @@
3
3
  License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -->
4
4
  <odoo>
5
5
  <template id="journal_ledger">
6
- <t t-call="web.html_container">
6
+ <t t-call="account_financial_report.html_container">
7
7
  <t t-foreach="docs" t-as="o">
8
8
  <t t-call="account_financial_report.internal_layout">
9
9
  <t t-call="account_financial_report.report_journal_ledger_base" />
@@ -17,9 +17,9 @@
17
17
  <t t-set="display_account_name" t-value="with_account_name" />
18
18
  <t t-set="title">
19
19
  Journal Ledger -
20
- <t t-raw="company_name" />
20
+ <t t-out="company_name" />
21
21
  -
22
- <t t-raw="currency_name" />
22
+ <t t-out="currency_name" />
23
23
  </t>
24
24
  <t t-set="company_name" t-value="Company_Name" />
25
25
  <div class="page">
@@ -105,7 +105,7 @@
105
105
  </t>
106
106
  </t>
107
107
  <t t-else="">
108
- <t t-if="not with_auto_sequence">
108
+ <t t-if="not with_auto_sequence">
109
109
  <t t-set="account_column_style">
110
110
  width: 23.78%;
111
111
  </t>
@@ -198,12 +198,8 @@
198
198
  </b>
199
199
  </div>
200
200
  <t t-if="display_currency">
201
- <div class="act_as_cell" name="currency_name">
202
-
203
- </div>
204
- <div class="act_as_cell amount" name="amount_currency">
205
-
206
- </div>
201
+ <div class="act_as_cell" name="currency_name" />
202
+ <div class="act_as_cell amount" name="amount_currency" />
207
203
  </t>
208
204
  </div>
209
205
  <div style="width: 100%" />
@@ -256,8 +252,8 @@
256
252
  <span t-if="display_account_name">
257
253
  -
258
254
  <span
259
- t-esc="o._get_atr_from_dict(move_line['account_id'], account_ids_data, 'name')"
260
- />
255
+ t-esc="o._get_atr_from_dict(move_line['account_id'], account_ids_data, 'name')"
256
+ />
261
257
  </span>
262
258
  </div>
263
259
  <div class="act_as_cell left" name="partner">
@@ -267,7 +263,10 @@
267
263
  />
268
264
  </div>
269
265
  <div class="act_as_cell left" name="label">
270
- <span t-if="move_line['label']" t-esc="move_line['label']" />
266
+ <span
267
+ t-if="move_line['label']"
268
+ t-esc="limit_text(move_line['label'], 'label_text_limit')"
269
+ />
271
270
  <span t-if="not move_line['label']">/</span>
272
271
  </div>
273
272
  <div class="act_as_cell left" name="taxes">
@@ -280,7 +279,7 @@
280
279
  t-value="o._get_data_from_dict(move_line['move_line_id'], move_line_ids_taxes_data)"
281
280
  />
282
281
  <span
283
- t-esc="o._get_ml_tax_description(move_line, tax_line_dat, move_line_ids_taxes_dat)"
282
+ t-esc="limit_text(o._get_ml_tax_description(move_line, tax_line_dat, move_line_ids_taxes_dat), 'label_text_limit')"
284
283
  />
285
284
  </div>
286
285
  <div class="act_as_cell amount" name="debit">
@@ -302,14 +301,13 @@
302
301
  <t t-if="display_currency">
303
302
  <div class="act_as_cell" name="currency_name">
304
303
  <t t-if="move_line['currency_id']">
305
- <span t-esc="currency_ids_data.get(move_line['currency_id'], '')" />
304
+ <span
305
+ t-esc="currency_ids_data.get(move_line['currency_id'], '').get('name', '')"
306
+ />
306
307
  </t>
307
308
  </div>
308
309
  <div class="act_as_cell amount" name="amount_currency">
309
- <t
310
- t-if="move_line['amount_currency']"
311
- t-options="{'widget': 'float', 'precision': 2}"
312
- >
310
+ <t t-if="move_line['amount_currency']">
313
311
  <span
314
312
  t-esc="move_line['amount_currency']"
315
313
  t-options="{'widget': 'float', 'precision': 2}"
@@ -444,77 +442,73 @@
444
442
  <div class="act_as_table data_table" style="width: 100%;">
445
443
  10
446
444
  <div class="act_as_row labels">
447
- <div
448
- class="act_as_cell first_column"
449
- name="name"
450
- style="width: 30.97%;"
451
- />
452
- <div class="act_as_cell" name="description" style="width: 13.27%;" />
453
- <div class="act_as_cell" name="base_debit" style="width: 9.29%;">
445
+ <div class="act_as_cell first_column" name="name" style="width: 30.97%;" />
446
+ <div class="act_as_cell" name="description" style="width: 13.27%;" />
447
+ <div class="act_as_cell" name="base_debit" style="width: 9.29%;">
454
448
  Debit
455
449
  </div>
456
- <div class="act_as_cell" name="base_credit" style="width: 9.29%;">
450
+ <div class="act_as_cell" name="base_credit" style="width: 9.29%;">
457
451
  Credit
458
452
  </div>
459
- <div class="act_as_cell" name="base_balance" style="width: 9.29%;">
453
+ <div class="act_as_cell" name="base_balance" style="width: 9.29%;">
460
454
  Balance
461
455
  </div>
462
- <div class="act_as_cell" name="tax_debit" style="width: 9.29%;">
456
+ <div class="act_as_cell" name="tax_debit" style="width: 9.29%;">
463
457
  Debit
464
458
  </div>
465
- <div class="act_as_cell" name="tax_credit" style="width: 9.29%;">
459
+ <div class="act_as_cell" name="tax_credit" style="width: 9.29%;">
466
460
  Credit
467
461
  </div>
468
- <div class="act_as_cell" name="tax_balance" style="width: 9.29%;">
462
+ <div class="act_as_cell" name="tax_balance" style="width: 9.29%;">
469
463
  Balance
470
464
  </div>
471
- </div>
465
+ </div>
472
466
  <t t-foreach="ReportTaxLines" t-as="tax_line">
473
- <div class="act_as_row lines">
474
- <div class="act_as_cell left" name="tax_name">
475
- <span t-esc="tax_line['tax_name']" />
476
- </div>
477
- <div class="act_as_cell left" name="tax_code">
478
- <span t-esc="tax_line['tax_code']" />
479
- </div>
480
- <div class="act_as_cell amount" name="base_debit">
481
- <span
482
- t-esc="tax_line['base_debit']"
483
- t-options="{'widget': 'float', 'precision': 2}"
484
- />
485
- </div>
486
- <div class="act_as_cell amount" name="base_credit">
487
- <span
488
- t-esc="tax_line['base_credit']"
489
- t-options="{'widget': 'float', 'precision': 2}"
490
- />
491
- </div>
492
- <div class="act_as_cell amount" name="base_balance">
493
- <span
494
- t-esc="tax_line['base_balance']"
495
- t-options="{'widget': 'float', 'precision': 2}"
496
- />
497
- </div>
498
- <div class="act_as_cell amount" name="tax_debit">
499
- <span
500
- t-esc="tax_line['tax_debit']"
501
- t-options="{'widget': 'float', 'precision': 2}"
502
- />
503
- </div>
504
- <div class="act_as_cell amount" name="tax_credit">
505
- <span
506
- t-esc="tax_line['tax_credit']"
507
- t-options="{'widget': 'float', 'precision': 2}"
508
- />
509
- </div>
510
- <div class="act_as_cell amount" name="tax_balance">
511
- <span
512
- t-esc="tax_line['tax_balance']"
513
- t-options="{'widget': 'float', 'precision': 2}"
514
- />
515
- </div>
467
+ <div class="act_as_row lines">
468
+ <div class="act_as_cell left" name="tax_name">
469
+ <span t-esc="tax_line['tax_name']" />
516
470
  </div>
517
- </t>
471
+ <div class="act_as_cell left" name="tax_code">
472
+ <span t-esc="tax_line['tax_code']" />
473
+ </div>
474
+ <div class="act_as_cell amount" name="base_debit">
475
+ <span
476
+ t-esc="tax_line['base_debit']"
477
+ t-options="{'widget': 'float', 'precision': 2}"
478
+ />
479
+ </div>
480
+ <div class="act_as_cell amount" name="base_credit">
481
+ <span
482
+ t-esc="tax_line['base_credit']"
483
+ t-options="{'widget': 'float', 'precision': 2}"
484
+ />
485
+ </div>
486
+ <div class="act_as_cell amount" name="base_balance">
487
+ <span
488
+ t-esc="tax_line['base_balance']"
489
+ t-options="{'widget': 'float', 'precision': 2}"
490
+ />
491
+ </div>
492
+ <div class="act_as_cell amount" name="tax_debit">
493
+ <span
494
+ t-esc="tax_line['tax_debit']"
495
+ t-options="{'widget': 'float', 'precision': 2}"
496
+ />
497
+ </div>
498
+ <div class="act_as_cell amount" name="tax_credit">
499
+ <span
500
+ t-esc="tax_line['tax_credit']"
501
+ t-options="{'widget': 'float', 'precision': 2}"
502
+ />
503
+ </div>
504
+ <div class="act_as_cell amount" name="tax_balance">
505
+ <span
506
+ t-esc="tax_line['tax_balance']"
507
+ t-options="{'widget': 'float', 'precision': 2}"
508
+ />
509
+ </div>
510
+ </div>
511
+ </t>
518
512
  </div>
519
513
  </template>
520
514
  </odoo>
@@ -1,5 +1,16 @@
1
1
  <?xml version="1.0" encoding="utf-8" ?>
2
2
  <odoo>
3
+ <template id="account_financial_report.html_container">
4
+ <t t-call-assets="web.assets_backend" />
5
+ <link
6
+ href="/account_financial_report/static/src/css/report_html.css"
7
+ rel="stylesheet"
8
+ />
9
+ <t t-set="body_classname" t-value="'container'" />
10
+ <t t-call="web.report_layout">
11
+ <t t-out="0" />
12
+ </t>
13
+ </template>
3
14
  <template id="account_financial_report.internal_layout">
4
15
  <div class="article o_account_financial_reports_page">
5
16
  <link
@@ -12,7 +23,7 @@
12
23
  <div class="row">
13
24
  <div class="col-6 custom_footer">
14
25
  <span
15
- t-esc="context_timestamp(datetime.datetime.now()).strftime('%Y-%m-%d %H:%M')"
26
+ t-out="context_timestamp(datetime.datetime.now()).strftime('%Y-%m-%d %H:%M')"
16
27
  />
17
28
  </div>
18
29
  <div class="col-6 text-right custom_footer">
@@ -1,7 +1,7 @@
1
1
  <?xml version="1.0" encoding="utf-8" ?>
2
2
  <odoo>
3
3
  <template id="open_items">
4
- <t t-call="web.html_container">
4
+ <t t-call="account_financial_report.html_container">
5
5
  <t t-foreach="docs" t-as="o">
6
6
  <t t-call="account_financial_report.internal_layout">
7
7
  <t t-call="account_financial_report.report_open_items_base" />
@@ -9,15 +9,16 @@
9
9
  </t>
10
10
  </t>
11
11
  </template>
12
+
12
13
  <template id="account_financial_report.report_open_items_base">
13
14
  <!-- Saved flag fields into variables, used to define columns display -->
14
15
  <t t-set="foreign_currency" t-value="foreign_currency" />
15
16
  <!-- Defines global variables used by internal layout -->
16
17
  <t t-set="title">
17
18
  Open Items -
18
- <t t-raw="company_name" />
19
+ <t t-out="company_name" />
19
20
  -
20
- <t t-raw="currency_name" />
21
+ <t t-out="currency_name" />
21
22
  </t>
22
23
  <t t-set="company_name" t-value="Company_Name" />
23
24
  <div class="page">
@@ -28,51 +29,87 @@
28
29
  style="text-align: center;"
29
30
  />
30
31
  </div>
31
- <!-- Display filters -->
32
- <t t-call="account_financial_report.report_open_items_filters" />
33
- <t t-foreach="Open_Items.keys()" t-as="account_id">
34
- <!-- Display account header -->
35
- <div class="act_as_table list_table" style="margin-top: 10px;" />
36
- <div class="account_title" style="width: 100%;">
37
- <span t-esc="accounts_data[account_id]['code']" />
38
- -
39
- <span t-esc="accounts_data[account_id]['name']" />
40
- </div>
41
- <t t-if="not show_partner_details">
42
- <div class="act_as_table data_table" style="width: 100%;">
43
- <t
44
- t-call="account_financial_report.report_open_items_lines_header"
45
- />
46
- <!-- Display account move lines -->
47
- <t t-foreach="Open_Items[account_id]" t-as="line">
48
- <t
49
- t-call="account_financial_report.report_open_items_lines"
50
- />
51
- </t>
32
+ <t t-if="grouped_by == 'salesperson' and show_partner_details">
33
+ <t t-foreach="partners_data.keys()" t-as="partner_id">
34
+ <t t-call="account_financial_report.report_open_items_filters" />
35
+ <div class="act_as_caption account_title">
36
+ <span t-esc="partners_data[partner_id]['name']" />
52
37
  </div>
53
- </t>
54
- <t t-if="show_partner_details">
55
- <div class="page_break">
56
- <!-- Display account partners -->
57
- <t t-foreach="Open_Items[account_id]" t-as="partner_id">
58
- <div class="act_as_caption account_title">
59
- <span t-esc="partners_data[partner_id]['name']" />
38
+ <t t-foreach="Open_Items.keys()" t-as="account_id">
39
+ <t t-if="partner_id in Open_Items[account_id]">
40
+ <div
41
+ class="act_as_table list_table"
42
+ style="margin-top: 10px;"
43
+ />
44
+ <div class="account_title" style="width: 100%;">
45
+ <span t-esc="accounts_data[account_id]['code']" />
46
+ -
47
+ <span t-esc="accounts_data[account_id]['name']" />
60
48
  </div>
61
- <div class="act_as_table data_table" style="width: 100%;">
62
- <!-- Display partner header -->
49
+
50
+ <t t-if="Open_Items[account_id]">
63
51
  <t
64
- t-call="account_financial_report.report_open_items_lines_header"
52
+ t-set="partner_totals"
53
+ t-value="o._calculate_amounts_by_partner(account_id,Open_Items[account_id][partner_id])"
65
54
  />
66
- <!-- Display partner move lines -->
67
55
  <t
68
- t-foreach="Open_Items[account_id][partner_id]"
69
- t-as="line"
56
+ t-foreach="partner_totals.get(account_id, {})"
57
+ t-as="partner_id_key"
70
58
  >
71
- <t
72
- t-call="account_financial_report.report_open_items_lines"
73
- />
59
+ <t t-set="has_lines" t-value="False" />
60
+ <div
61
+ class="act_as_table data_table"
62
+ style="width: 100%;"
63
+ >
64
+ <t
65
+ t-foreach="Open_Items[account_id][partner_id]"
66
+ t-as="line"
67
+ >
68
+ <t
69
+ t-if="line['partner_id'] == partner_id_key"
70
+ >
71
+ <t t-set="has_lines" t-value="True" />
72
+ </t>
73
+ </t>
74
+ <t t-if="has_lines">
75
+ <!-- Display partner header -->
76
+ <t
77
+ t-call="account_financial_report.report_open_items_lines_header"
78
+ />
79
+ </t>
80
+ <t
81
+ t-foreach="Open_Items[account_id][partner_id]"
82
+ t-as="line"
83
+ >
84
+ <t
85
+ t-if="line['partner_id'] == partner_id_key"
86
+ >
87
+ <!-- Display partner move lines -->
88
+ <t
89
+ t-call="account_financial_report.report_open_items_lines"
90
+ />
91
+ </t>
92
+ </t>
93
+ </div>
94
+ <!-- Check if there were any lines displayed for the partner -->
95
+ <t t-if="has_lines">
96
+ <!-- Calculate and display subtotal for current partner_id -->
97
+ <t
98
+ t-call="account_financial_report.report_open_items_ending_cumul"
99
+ >
100
+ <t
101
+ t-set="currency_id"
102
+ t-value="accounts_data[account_id]['currency_name']"
103
+ />
104
+ <t
105
+ t-set="type"
106
+ t-value="'partner_subtotal_type'"
107
+ />
108
+ </t>
109
+ </t>
74
110
  </t>
75
- </div>
111
+ </t>
112
+ <!-- Display account footer -->
76
113
  <t
77
114
  t-call="account_financial_report.report_open_items_ending_cumul"
78
115
  >
@@ -87,23 +124,92 @@
87
124
  <t t-set="type" t-value='"partner_type"' />
88
125
  </t>
89
126
  </t>
90
- </div>
127
+ </t>
128
+ <div style="page-break-after: always;" />
91
129
  </t>
92
- <!-- Display account footer -->
93
- <t t-call="account_financial_report.report_open_items_ending_cumul">
94
- <t
95
- t-set="account_or_partner_id"
96
- t-value="accounts_data[account_id]"
97
- />
98
- <t
99
- t-set="currency_id"
100
- t-value="accounts_data[account_id]['currency_name']"
101
- />
102
- <t t-set="type" t-value='"account_type"' />
130
+ </t>
131
+ <t t-else="">
132
+ <!-- Display filters -->
133
+ <t t-call="account_financial_report.report_open_items_filters" />
134
+ <t t-foreach="Open_Items.keys()" t-as="account_id">
135
+ <!-- Display account header -->
136
+ <div class="act_as_table list_table" style="margin-top: 10px;" />
137
+ <div class="account_title" style="width: 100%;">
138
+ <span t-esc="accounts_data[account_id]['code']" />
139
+ -
140
+ <span t-esc="accounts_data[account_id]['name']" />
141
+ </div>
142
+ <t t-if="not show_partner_details">
143
+ <div class="act_as_table data_table" style="width: 100%;">
144
+ <t
145
+ t-call="account_financial_report.report_open_items_lines_header"
146
+ />
147
+ <!-- Display account move lines -->
148
+ <t t-foreach="Open_Items[account_id]" t-as="line">
149
+ <t
150
+ t-call="account_financial_report.report_open_items_lines"
151
+ />
152
+ </t>
153
+ </div>
154
+ </t>
155
+ <t t-if="show_partner_details">
156
+ <div class="page_break">
157
+ <!-- Display account partners -->
158
+ <t t-foreach="Open_Items[account_id]" t-as="partner_id">
159
+ <div class="act_as_caption account_title">
160
+ <span t-esc="partners_data[partner_id]['name']" />
161
+ </div>
162
+ <div
163
+ class="act_as_table data_table"
164
+ style="width: 100%;"
165
+ >
166
+ <!-- Display partner header -->
167
+ <t
168
+ t-call="account_financial_report.report_open_items_lines_header"
169
+ />
170
+ <!-- Display partner move lines -->
171
+ <t
172
+ t-foreach="Open_Items[account_id][partner_id]"
173
+ t-as="line"
174
+ >
175
+ <t
176
+ t-call="account_financial_report.report_open_items_lines"
177
+ />
178
+ </t>
179
+ </div>
180
+ <t
181
+ t-call="account_financial_report.report_open_items_ending_cumul"
182
+ >
183
+ <t
184
+ t-set="account_or_partner_id"
185
+ t-value="partners_data[partner_id]"
186
+ />
187
+ <t
188
+ t-set="currency_id"
189
+ t-value="accounts_data[account_id]['currency_name']"
190
+ />
191
+ <t t-set="type" t-value='"partner_type"' />
192
+ </t>
193
+ </t>
194
+ </div>
195
+ </t>
196
+ <!-- Display account footer -->
197
+ <t t-call="account_financial_report.report_open_items_ending_cumul">
198
+ <t
199
+ t-set="account_or_partner_id"
200
+ t-value="accounts_data[account_id]"
201
+ />
202
+ <t
203
+ t-set="currency_id"
204
+ t-value="accounts_data[account_id]['currency_name']"
205
+ />
206
+ <t t-set="type" t-value='"account_type"' />
207
+ </t>
103
208
  </t>
104
209
  </t>
105
210
  </div>
106
211
  </template>
212
+
107
213
  <template id="account_financial_report.report_open_items_filters">
108
214
  <div class="act_as_table data_table" style="width: 100%;">
109
215
  <div class="act_as_row labels">
@@ -174,7 +280,7 @@
174
280
  <div class="act_as_row lines">
175
281
  <!--## date-->
176
282
  <div class="act_as_cell left">
177
- <span t-raw="line['date'].strftime('%d/%m/%Y')" />
283
+ <span t-out="line['date'].strftime('%d/%m/%Y')" />
178
284
  </div>
179
285
  <!--## move-->
180
286
  <div class="act_as_cell left">
@@ -219,7 +325,7 @@
219
325
  </div>
220
326
  <!--## ref - label-->
221
327
  <div class="act_as_cell left">
222
- <span t-esc="line['ref_label']" />
328
+ <span t-esc="limit_text(line['ref_label'], 'label_text_limit')" />
223
329
  </div>
224
330
  <!--## date_due-->
225
331
  <div class="act_as_cell left">
@@ -294,6 +400,20 @@
294
400
  Partner ending balance
295
401
  </div>
296
402
  </t>
403
+ <t t-if='type == "partner_subtotal_type"'>
404
+ <div class="act_as_cell first_column" style="width: 36.34%;" />
405
+ <t
406
+ t-set="partner"
407
+ t-value="env['res.partner'].browse(partner_id_key)"
408
+ />
409
+ <t t-if="partner">
410
+ <span t-esc="partner.name" />
411
+ </t>
412
+ <div class="act_as_cell right" style="width: 28.66%;">
413
+ Ending
414
+ balance
415
+ </div>
416
+ </t>
297
417
  <!--## date_due-->
298
418
  <div class="act_as_cell" style="width: 6.47%;" />
299
419
  <!--## amount_total_due-->
@@ -312,6 +432,12 @@
312
432
  t-options="{'widget': 'monetary', 'display_currency': res_company.currency_id}"
313
433
  />
314
434
  </t>
435
+ <t t-if='type == "partner_subtotal_type"'>
436
+ <span
437
+ t-esc="partner_totals[account_id][partner_id_key]['residual']"
438
+ t-options="{'widget': 'monetary', 'display_currency': res_company.currency_id}"
439
+ />
440
+ </t>
315
441
  </div>
316
442
  <!--## amount_total_due_currency + amount_residual_currency -->
317
443
  <t t-if="foreign_currency">