odoo-addon-account-loan 17.0.1.0.0.5__py3-none-any.whl → 17.0.1.1.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.
@@ -7,7 +7,7 @@ Account Loan management
7
7
  !! This file is generated by oca-gen-addon-readme !!
8
8
  !! changes will be overwritten. !!
9
9
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
10
- !! source digest: sha256:fae1f5805841bcbac809ea9548904a5098614ee325624645cec438bb6ec36a25
10
+ !! source digest: sha256:4a188413bf067ed53fb13091f81fe22f5f6f45def339e4c3a49595c345173e6d
11
11
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
12
12
 
13
13
  .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
@@ -34,13 +34,13 @@ check the pending amount to be paid and reduce the debt.
34
34
 
35
35
  It currently supports two kinds of debts:
36
36
 
37
- - | Loans: a standard debt with banks, that only creates account moves.
38
- | Loan types info:
39
- `APR <https://en.wikipedia.org/wiki/Annual_percentage_rate>`__,
40
- `EAR <https://en.wikipedia.org/wiki/Effective_interest_rate>`__,
41
- `Real Rate <https://en.wikipedia.org/wiki/Real_interest_rate>`__.
37
+ - | Loans: a standard debt with banks, that only creates account moves.
38
+ | Loan types info:
39
+ `APR <https://en.wikipedia.org/wiki/Annual_percentage_rate>`__,
40
+ `EAR <https://en.wikipedia.org/wiki/Effective_interest_rate>`__,
41
+ `Real Rate <https://en.wikipedia.org/wiki/Real_interest_rate>`__.
42
42
 
43
- - Leases: a debt with a bank where purchase invoices are necessary
43
+ - Leases: a debt with a bank where purchase invoices are necessary
44
44
 
45
45
  **Table of contents**
46
46
 
@@ -62,9 +62,9 @@ To use this module, you need to:
62
62
 
63
63
  On a posted loan you can:
64
64
 
65
- - Create moves or invoices (according to the configuration)
66
- - Modify rates when needed (only unposted lines will be modified)
67
- - Reduce or cancel the debt of a loan / lease
65
+ - Create moves or invoices (according to the configuration)
66
+ - Modify rates when needed (only unposted lines will be modified)
67
+ - Reduce or cancel the debt of a loan / lease
68
68
 
69
69
  |Try me on Runbot|
70
70
 
@@ -101,9 +101,12 @@ Authors
101
101
  Contributors
102
102
  ------------
103
103
 
104
- - Enric Tobella <etobella@creublanca.es>
105
- - Bhavesh Odedra <bodedra@opensourceintegrators.com>
106
- - Alberto Martín Cortada <alberto.martin@guadaltech.es>
104
+ - Enric Tobella <etobella@creublanca.es>
105
+ - Bhavesh Odedra <bodedra@opensourceintegrators.com>
106
+ - Alberto Martín Cortada <alberto.martin@guadaltech.es>
107
+ - `Tecnativa <https://www.tecnativa.com>`__:
108
+
109
+ - Juan Carlos Oñate
107
110
 
108
111
  Maintainers
109
112
  -----------
@@ -2,7 +2,7 @@
2
2
  # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
3
3
  {
4
4
  "name": "Account Loan management",
5
- "version": "17.0.1.0.0",
5
+ "version": "17.0.1.1.0",
6
6
  "author": "Creu Blanca,Odoo Community Association (OCA)",
7
7
  "website": "https://github.com/OCA/account-financial-tools",
8
8
  "license": "AGPL-3",
@@ -858,11 +858,6 @@ msgstr ""
858
858
  msgid "Sequence"
859
859
  msgstr ""
860
860
 
861
- #. module: account_loan
862
- #: model:ir.model.constraint,message:account_loan.constraint_account_loan_line_sequence_loan
863
- msgid "Sequence must be unique in a loan"
864
- msgstr ""
865
-
866
861
  #. module: account_loan
867
862
  #: model:ir.model.fields,field_description:account_loan.field_account_loan__short_term_loan_account_id
868
863
  #: model:ir.model.fields,field_description:account_loan.field_account_loan_line__short_term_loan_account_id
@@ -945,6 +940,13 @@ msgid ""
945
940
  "Planned: Future activities."
946
941
  msgstr ""
947
942
 
943
+ #. module: account_loan
944
+ #. odoo-python
945
+ #: code:addons/account_loan/wizards/account_loan_post.py:0
946
+ #, python-format
947
+ msgid "The total principal amount does not match the loan amount."
948
+ msgstr ""
949
+
948
950
  #. module: account_loan
949
951
  #: model:ir.model.fields,help:account_loan.field_account_loan_line__payment_amount
950
952
  msgid "Total amount that will be payed (Annuity)"
@@ -1001,3 +1003,8 @@ msgstr ""
1001
1003
  #: model:ir.model.fields,help:account_loan.field_account_loan__payment_on_first_period
1002
1004
  msgid "When checked, the first payment will be on start date"
1003
1005
  msgstr ""
1006
+
1007
+ #. module: account_loan
1008
+ #: model_terms:ir.ui.view,arch_db:account_loan.account_loan_line_tree
1009
+ msgid "principal_amount"
1010
+ msgstr ""
@@ -205,6 +205,22 @@ class AccountLoan(models.Model):
205
205
  ("name_uniq", "unique(name, company_id)", "Loan name must be unique"),
206
206
  ]
207
207
 
208
+ @api.onchange("line_ids")
209
+ def _onchange_line_ids_draft_manual(self):
210
+ if self.state == "draft":
211
+ self.line_ids = self.line_ids.sorted(key=lambda line: line.sequence)
212
+ previous_pending_principal = 0
213
+ previous_principal_amount = 0
214
+ for line in self.line_ids:
215
+ if line.sequence == 1:
216
+ line.pending_principal_amount = line.loan_id.loan_amount
217
+ else:
218
+ line.pending_principal_amount = (
219
+ previous_pending_principal - previous_principal_amount
220
+ )
221
+ previous_pending_principal = line.pending_principal_amount
222
+ previous_principal_amount = line.principal_amount
223
+
208
224
  @api.depends("line_ids", "currency_id", "loan_amount")
209
225
  def _compute_total_amounts(self):
210
226
  for record in self:
@@ -319,7 +335,8 @@ class AccountLoan(models.Model):
319
335
  self.ensure_one()
320
336
  if not self.start_date:
321
337
  self.start_date = fields.Date.today()
322
- self._compute_draft_lines()
338
+ if not self.line_ids:
339
+ self._compute_draft_lines()
323
340
  self.write({"state": "posted"})
324
341
 
325
342
  def close(self):
@@ -70,12 +70,14 @@ class AccountLoanLine(models.Model):
70
70
  )
71
71
  rate = fields.Float(
72
72
  required=True,
73
- readonly=True,
73
+ readonly=False,
74
+ store=True,
74
75
  digits=(8, 6),
76
+ compute="_compute_rate",
75
77
  )
76
78
  pending_principal_amount = fields.Monetary(
77
79
  currency_field="currency_id",
78
- readonly=True,
80
+ readonly=False,
79
81
  help="Pending amount of the loan before the payment",
80
82
  )
81
83
  long_term_pending_principal_amount = fields.Monetary(
@@ -86,17 +88,22 @@ class AccountLoanLine(models.Model):
86
88
  )
87
89
  payment_amount = fields.Monetary(
88
90
  currency_field="currency_id",
89
- readonly=True,
91
+ readonly=False,
92
+ store=True,
93
+ compute="_compute_payment_amount",
90
94
  help="Total amount that will be payed (Annuity)",
91
95
  )
92
96
  interests_amount = fields.Monetary(
93
97
  currency_field="currency_id",
94
- readonly=True,
98
+ readonly=False,
99
+ store=True,
100
+ compute="_compute_interests_amount",
95
101
  help="Amount of the payment that will be assigned to interests",
96
102
  )
97
103
  principal_amount = fields.Monetary(
98
104
  currency_field="currency_id",
99
- compute="_compute_amounts",
105
+ compute="_compute_principal_amount",
106
+ store=True,
100
107
  help="Amount of the payment that will reduce the pending loan amount",
101
108
  )
102
109
  long_term_principal_amount = fields.Monetary(
@@ -107,6 +114,7 @@ class AccountLoanLine(models.Model):
107
114
  final_pending_principal_amount = fields.Monetary(
108
115
  currency_field="currency_id",
109
116
  compute="_compute_amounts",
117
+ store=True,
110
118
  help="Pending amount of the loan after the payment",
111
119
  )
112
120
  move_ids = fields.One2many(
@@ -115,13 +123,20 @@ class AccountLoanLine(models.Model):
115
123
  )
116
124
  has_moves = fields.Boolean(compute="_compute_has_moves")
117
125
  has_invoices = fields.Boolean(compute="_compute_has_invoices")
118
- _sql_constraints = [
119
- (
120
- "sequence_loan",
121
- "unique(loan_id, sequence)",
122
- "Sequence must be unique in a loan",
123
- )
124
- ]
126
+
127
+ @api.depends("interests_amount")
128
+ def _compute_rate(self):
129
+ for record in self:
130
+ record.rate = (
131
+ record.interests_amount * 100
132
+ ) / record.pending_principal_amount
133
+
134
+ @api.depends("rate")
135
+ def _compute_interests_amount(self):
136
+ for record in self:
137
+ record.interests_amount = (
138
+ record.pending_principal_amount * record.rate
139
+ ) / 100
125
140
 
126
141
  @api.depends("move_ids")
127
142
  def _compute_has_moves(self):
@@ -138,12 +153,21 @@ class AccountLoanLine(models.Model):
138
153
  for record in self:
139
154
  record.name = "%s-%d" % (record.loan_id.name, record.sequence)
140
155
 
156
+ @api.depends("principal_amount", "interests_amount")
157
+ def _compute_payment_amount(self):
158
+ for rec in self:
159
+ rec.payment_amount = rec.principal_amount + rec.interests_amount
160
+
141
161
  @api.depends("payment_amount", "interests_amount", "pending_principal_amount")
142
162
  def _compute_amounts(self):
143
163
  for rec in self:
144
164
  rec.final_pending_principal_amount = (
145
165
  rec.pending_principal_amount - rec.payment_amount + rec.interests_amount
146
166
  )
167
+
168
+ @api.depends("pending_principal_amount")
169
+ def _compute_principal_amount(self):
170
+ for rec in self:
147
171
  rec.principal_amount = rec.payment_amount - rec.interests_amount
148
172
 
149
173
  def _compute_amount(self):
@@ -1,3 +1,5 @@
1
1
  - Enric Tobella \<<etobella@creublanca.es>\>
2
2
  - Bhavesh Odedra \<<bodedra@opensourceintegrators.com>\>
3
3
  - Alberto Martín Cortada \<<alberto.martin@guadaltech.es>\>
4
+ - [Tecnativa](https://www.tecnativa.com):
5
+ - Juan Carlos Oñate
@@ -367,7 +367,7 @@ ul.auto-toc {
367
367
  !! This file is generated by oca-gen-addon-readme !!
368
368
  !! changes will be overwritten. !!
369
369
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
370
- !! source digest: sha256:fae1f5805841bcbac809ea9548904a5098614ee325624645cec438bb6ec36a25
370
+ !! source digest: sha256:4a188413bf067ed53fb13091f81fe22f5f6f45def339e4c3a49595c345173e6d
371
371
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
372
372
  <p><a class="reference external image-reference" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external image-reference" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OCA/account-financial-tools/tree/17.0/account_loan"><img alt="OCA/account-financial-tools" src="https://img.shields.io/badge/github-OCA%2Faccount--financial--tools-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/account-financial-tools-17-0/account-financial-tools-17-0-account_loan"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external image-reference" href="https://runboat.odoo-community.org/builds?repo=OCA/account-financial-tools&amp;target_branch=17.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
373
373
  <p>This module extends the functionality of accounting to support loans. It
@@ -453,6 +453,10 @@ If you spotted it first, help us to smash it by providing a detailed and welcome
453
453
  <li>Enric Tobella &lt;<a class="reference external" href="mailto:etobella&#64;creublanca.es">etobella&#64;creublanca.es</a>&gt;</li>
454
454
  <li>Bhavesh Odedra &lt;<a class="reference external" href="mailto:bodedra&#64;opensourceintegrators.com">bodedra&#64;opensourceintegrators.com</a>&gt;</li>
455
455
  <li>Alberto Martín Cortada &lt;<a class="reference external" href="mailto:alberto.martin&#64;guadaltech.es">alberto.martin&#64;guadaltech.es</a>&gt;</li>
456
+ <li><a class="reference external" href="https://www.tecnativa.com">Tecnativa</a>:<ul>
457
+ <li>Juan Carlos Oñate</li>
458
+ </ul>
459
+ </li>
456
460
  </ul>
457
461
  </div>
458
462
  <div class="section" id="maintainers">
@@ -4,6 +4,7 @@
4
4
  import logging
5
5
 
6
6
  from dateutil.relativedelta import relativedelta
7
+ from freezegun import freeze_time
7
8
 
8
9
  from odoo import fields
9
10
  from odoo.exceptions import UserError
@@ -106,6 +107,7 @@ class TestLoan(BaseCommon):
106
107
  self.assertEqual(line_end.principal_amount, 500000)
107
108
 
108
109
  @mute_logger("odoo.models.unlink")
110
+ @freeze_time("2025-01-01")
109
111
  def test_increase_amount_validation(self):
110
112
  amount = 10000
111
113
  periods = 24
@@ -153,6 +155,7 @@ class TestLoan(BaseCommon):
153
155
  ).create({"amount": -100, "date": line.date}).run()
154
156
 
155
157
  @mute_logger("odoo.models.unlink")
158
+ @freeze_time("2025-01-01")
156
159
  def test_pay_amount_validation(self):
157
160
  amount = 10000
158
161
  periods = 24
@@ -205,6 +208,7 @@ class TestLoan(BaseCommon):
205
208
  ).create({"amount": -100, "fees": 100, "date": line.date}).run()
206
209
 
207
210
  @mute_logger("odoo.models.unlink")
211
+ @freeze_time("2025-01-01")
208
212
  def test_increase_amount_loan(self):
209
213
  amount = 10000
210
214
  periods = 24
@@ -252,6 +256,7 @@ class TestLoan(BaseCommon):
252
256
  self.assertEqual(loan.pending_principal_amount, pending_principal_amount + 1000)
253
257
 
254
258
  @mute_logger("odoo.models.unlink")
259
+ @freeze_time("2025-01-01")
255
260
  def test_increase_amount_leasing(self):
256
261
  amount = 10000
257
262
  periods = 24
@@ -305,6 +310,7 @@ class TestLoan(BaseCommon):
305
310
  self.assertEqual(loan.pending_principal_amount, pending_principal_amount + 1000)
306
311
 
307
312
  @mute_logger("odoo.models.unlink")
313
+ @freeze_time("2025-01-01")
308
314
  def test_fixed_annuity_begin_loan(self):
309
315
  amount = 10000
310
316
  periods = 24
@@ -356,6 +362,7 @@ class TestLoan(BaseCommon):
356
362
  line.view_process_values()
357
363
 
358
364
  @mute_logger("odoo.models.unlink")
365
+ @freeze_time("2025-01-01")
359
366
  def test_fixed_annuity_loan(self):
360
367
  amount = 10000
361
368
  periods = 24
@@ -403,6 +410,7 @@ class TestLoan(BaseCommon):
403
410
  line.view_process_values()
404
411
 
405
412
  @mute_logger("odoo.models.unlink")
413
+ @freeze_time("2025-01-01")
406
414
  def test_fixed_principal_loan_leasing(self):
407
415
  amount = 24000
408
416
  periods = 24
@@ -508,6 +516,7 @@ class TestLoan(BaseCommon):
508
516
  line.view_process_values()
509
517
 
510
518
  @mute_logger("odoo.models.unlink")
519
+ @freeze_time("2025-01-01")
511
520
  def test_fixed_principal_loan_auto_post_leasing(self):
512
521
  amount = 24000
513
522
  periods = 24
@@ -6,21 +6,28 @@
6
6
  <field name="model">account.loan.line</field>
7
7
  <field name="priority">99</field>
8
8
  <field name="arch" type="xml">
9
- <tree create="0">
10
- <field name="sequence" />
11
- <field name="date" />
9
+ <tree editable="bottom">
10
+ <field name="sequence" readonly="false" widget="handle" />
11
+ <field name="sequence" readonly="false" />
12
+ <field name="date" readonly="false" />
12
13
  <field name="rate" />
13
- <field name="pending_principal_amount" />
14
+ <field name="pending_principal_amount" readonly="True" force_save="1" />
14
15
  <field name="payment_amount" sum="Total payments" />
15
- <field name="principal_amount" />
16
+ <field
17
+ name="principal_amount"
18
+ sum="principal_amount"
19
+ readonly="false"
20
+ />
16
21
  <field name="interests_amount" sum="Total interests" />
17
22
  <field
18
23
  name="long_term_pending_principal_amount"
19
24
  column_invisible="not parent.long_term_loan_account_id"
25
+ readonly="false"
20
26
  />
21
27
  <field
22
28
  name="long_term_principal_amount"
23
29
  column_invisible="not parent.long_term_loan_account_id"
30
+ readonly="false"
24
31
  />
25
32
  <field name="long_term_loan_account_id" column_invisible="True" />
26
33
  <field name="loan_state" column_invisible="True" />
@@ -142,6 +142,7 @@
142
142
  <field
143
143
  name="line_ids"
144
144
  context="{'tree_view_ref': 'account_loan.account_loan_line_tree'}"
145
+ readonly="state != 'draft'"
145
146
  />
146
147
  </page>
147
148
  <page string="Accounts" id="accounting">
@@ -2,6 +2,7 @@
2
2
 
3
3
  from odoo import Command, _, api, fields, models
4
4
  from odoo.exceptions import UserError
5
+ from odoo.tools import float_compare
5
6
 
6
7
 
7
8
  class AccountLoanPost(models.TransientModel):
@@ -87,6 +88,17 @@ class AccountLoanPost(models.TransientModel):
87
88
 
88
89
  def run(self):
89
90
  self.ensure_one()
91
+ if self.loan_id.line_ids:
92
+ total_principal = sum(self.loan_id.line_ids.mapped("principal_amount"))
93
+ if (
94
+ float_compare(
95
+ self.loan_id.loan_amount, total_principal, precision_digits=2
96
+ )
97
+ != 0
98
+ ):
99
+ raise UserError(
100
+ _("The total principal amount does not match the loan amount.")
101
+ )
90
102
  if self.loan_id.state != "draft":
91
103
  raise UserError(_("Only loans in draft state can be posted"))
92
104
  self.loan_id.post()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: odoo-addon-account_loan
3
- Version: 17.0.1.0.0.5
3
+ Version: 17.0.1.1.0
4
4
  Requires-Python: >=3.10
5
5
  Requires-Dist: numpy-financial<=1.0.0
6
6
  Requires-Dist: numpy>=1.15
@@ -24,7 +24,7 @@ Account Loan management
24
24
  !! This file is generated by oca-gen-addon-readme !!
25
25
  !! changes will be overwritten. !!
26
26
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
27
- !! source digest: sha256:fae1f5805841bcbac809ea9548904a5098614ee325624645cec438bb6ec36a25
27
+ !! source digest: sha256:4a188413bf067ed53fb13091f81fe22f5f6f45def339e4c3a49595c345173e6d
28
28
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
29
29
 
30
30
  .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
@@ -51,13 +51,13 @@ check the pending amount to be paid and reduce the debt.
51
51
 
52
52
  It currently supports two kinds of debts:
53
53
 
54
- - | Loans: a standard debt with banks, that only creates account moves.
55
- | Loan types info:
56
- `APR <https://en.wikipedia.org/wiki/Annual_percentage_rate>`__,
57
- `EAR <https://en.wikipedia.org/wiki/Effective_interest_rate>`__,
58
- `Real Rate <https://en.wikipedia.org/wiki/Real_interest_rate>`__.
54
+ - | Loans: a standard debt with banks, that only creates account moves.
55
+ | Loan types info:
56
+ `APR <https://en.wikipedia.org/wiki/Annual_percentage_rate>`__,
57
+ `EAR <https://en.wikipedia.org/wiki/Effective_interest_rate>`__,
58
+ `Real Rate <https://en.wikipedia.org/wiki/Real_interest_rate>`__.
59
59
 
60
- - Leases: a debt with a bank where purchase invoices are necessary
60
+ - Leases: a debt with a bank where purchase invoices are necessary
61
61
 
62
62
  **Table of contents**
63
63
 
@@ -79,9 +79,9 @@ To use this module, you need to:
79
79
 
80
80
  On a posted loan you can:
81
81
 
82
- - Create moves or invoices (according to the configuration)
83
- - Modify rates when needed (only unposted lines will be modified)
84
- - Reduce or cancel the debt of a loan / lease
82
+ - Create moves or invoices (according to the configuration)
83
+ - Modify rates when needed (only unposted lines will be modified)
84
+ - Reduce or cancel the debt of a loan / lease
85
85
 
86
86
  |Try me on Runbot|
87
87
 
@@ -118,9 +118,12 @@ Authors
118
118
  Contributors
119
119
  ------------
120
120
 
121
- - Enric Tobella <etobella@creublanca.es>
122
- - Bhavesh Odedra <bodedra@opensourceintegrators.com>
123
- - Alberto Martín Cortada <alberto.martin@guadaltech.es>
121
+ - Enric Tobella <etobella@creublanca.es>
122
+ - Bhavesh Odedra <bodedra@opensourceintegrators.com>
123
+ - Alberto Martín Cortada <alberto.martin@guadaltech.es>
124
+ - `Tecnativa <https://www.tecnativa.com>`__:
125
+
126
+ - Juan Carlos Oñate
124
127
 
125
128
  Maintainers
126
129
  -----------
@@ -1,8 +1,8 @@
1
- odoo/addons/account_loan/README.rst,sha256=qz92YJynrE9ZaVrP5_cp5fGqrPFbkWoEDHgx90UoigY,4807
1
+ odoo/addons/account_loan/README.rst,sha256=AcLkgkCMzRqk6TIX57_IJrxGpFrE6KOaGAGVKGnx6UU,4864
2
2
  odoo/addons/account_loan/__init__.py,sha256=o9EnCAU5AKoGmP2X6ytOhQFxVqIh5Y1itLUOmzxSUJY,113
3
- odoo/addons/account_loan/__manifest__.py,sha256=Dd9RUSQX2r8N3DPXex5A8SocSCWFEcHSlsIma9Kv--k,1083
3
+ odoo/addons/account_loan/__manifest__.py,sha256=GIUHrGNa10vB7iNAPCZDKBE8XpQK49HYOC7LUmKW2-g,1083
4
4
  odoo/addons/account_loan/data/ir_sequence_data.xml,sha256=bLydnK8X-0QWzFoBms4UpGYYle25C2DmbpVECEG4PMc,540
5
- odoo/addons/account_loan/i18n/account_loan.pot,sha256=Krdk1n_5AXCTxNO0vLPBIgWTmjEKAbBHwh80sN-wmEA,35100
5
+ odoo/addons/account_loan/i18n/account_loan.pot,sha256=_7MOi8QU---Hmul8GCK4W1hvYWG8vjjaNaeu3OHwc5s,35253
6
6
  odoo/addons/account_loan/i18n/am.po,sha256=ZSXzCJk6zn0OdKWFMpJyuzbqgzXjWd2dczKa-tH3wZk,35510
7
7
  odoo/addons/account_loan/i18n/ar.po,sha256=sGElGW-m_DxL5BpIK-A-kMgQQPwX2N_ieo7t7WdGkCI,35786
8
8
  odoo/addons/account_loan/i18n/bg.po,sha256=TCVCF60f6-TJBfkQhI8TaLpHmyE1Jyiu1cCLkaTg-Po,35717
@@ -81,22 +81,22 @@ odoo/addons/account_loan/i18n/zh_TW.po,sha256=deX7_HmFGnn1Ok2b8nzxBZ9-Qo1NxWV3nG
81
81
  odoo/addons/account_loan/migrations/17.0.1.0.0/noupdate_changes.xml,sha256=bZbGut6mOAMZsniduY1yY2QA8W31LLNcBJFGjt1EFeE,398
82
82
  odoo/addons/account_loan/migrations/17.0.1.0.0/post-migration.py,sha256=0XUOqdMYcrw_CbdeWHc5BgWUEhEG_Rxed6I1bdq9H3c,314
83
83
  odoo/addons/account_loan/models/__init__.py,sha256=jwLlr4SgTaxqvv5CCJkgGwhwNus45E4E4e3pijuROJY,211
84
- odoo/addons/account_loan/models/account_loan.py,sha256=s_RLQMi__o2-gZKBkm0z1d7N1kFxF0LSQrahFe3CiGg,14968
85
- odoo/addons/account_loan/models/account_loan_line.py,sha256=ytW1Jr1uFYh0aFuCZO-oPMFH3Rqf6x8cadg5wW5rnko,17150
84
+ odoo/addons/account_loan/models/account_loan.py,sha256=LZzGb2WufmjFLQ76-Er0SlzpkZGB5817ZvO9xbmzH60,15753
85
+ odoo/addons/account_loan/models/account_loan_line.py,sha256=qd_vhO-ZujsmrwEVg9N7THxScx5LEmEYQkhkW9Grh9U,17959
86
86
  odoo/addons/account_loan/models/account_move.py,sha256=8p2V854_J060o_yupWrGyVa5Ps44d8GpkY4azcAUz3k,937
87
87
  odoo/addons/account_loan/models/res_partner.py,sha256=6NgoxHUstcHftmDGj9NWzxfb9MBDG6XATj_1OwMao84,995
88
- odoo/addons/account_loan/readme/CONTRIBUTORS.md,sha256=kmE2W7SBNuUjdUdEOSUQLHCT7nGkth03BUQNWCH3rc4,163
88
+ odoo/addons/account_loan/readme/CONTRIBUTORS.md,sha256=w4frkcHOfPes7QOWbCyGpnNbYcxJhFM0A9x0qCxxQd4,227
89
89
  odoo/addons/account_loan/readme/DESCRIPTION.md,sha256=tgKIF8E4LJiqio5knhWzXzUeop9VUvNXwc3fDV1bIz8,598
90
90
  odoo/addons/account_loan/readme/HISTORY.md,sha256=JSQtr1egUJ0sGZB8KBTv4ksGWDVDoGf8c8b9VDlD8hE,158
91
91
  odoo/addons/account_loan/readme/USAGE.md,sha256=pQ7Eb0xRbAdguo8JAxUQ-irEFkOdIeor3uxe-uX0rZo,726
92
92
  odoo/addons/account_loan/security/account_loan_security.xml,sha256=je25Lct1hJDX_5Qz9vhmXWF9n3s47WSzN9Ic8l8mr2k,752
93
93
  odoo/addons/account_loan/security/ir.model.access.csv,sha256=3RwBdFKlfSzAJCUWYxDBGUw0t0ZLuBphkZWYtNHGmlI,1009
94
94
  odoo/addons/account_loan/static/description/icon.png,sha256=6xBPJauaFOF0KDHfHgQopSc28kKvxMaeoQFQWZtfZDo,9455
95
- odoo/addons/account_loan/static/description/index.html,sha256=v6EuBGxRSZpBLAZ51l914afTYIRQpEGWPQcS1XFtJMU,15266
95
+ odoo/addons/account_loan/static/description/index.html,sha256=6pYxyp5vGSNYLXZZ2UbTpV6S6A31PCg-al1dqfMSRjE,15392
96
96
  odoo/addons/account_loan/tests/__init__.py,sha256=I1GwELsBL3FTRS0pVrE5q-qEk537mMnSOXpWkPVcBnY,94
97
- odoo/addons/account_loan/tests/test_loan.py,sha256=vFeApqeG14LmUOY-BvO1wvbyS4FCXwrmZ8JxOjkJYHQ,26150
98
- odoo/addons/account_loan/views/account_loan_lines_view.xml,sha256=jgH6HHBq-N3uxZdfCWo3dlXbtvMM2agAC0bi81tHaUg,5887
99
- odoo/addons/account_loan/views/account_loan_view.xml,sha256=gQA8e9Nxz_Ez2r5Lx2jHXgfJJdijF5P27GQXt7Ut_pA,10476
97
+ odoo/addons/account_loan/tests/test_loan.py,sha256=TBzakrNL97WwV5-FaPf7SaaIMq9E9ia7UlbDPF0lNQM,26432
98
+ odoo/addons/account_loan/views/account_loan_lines_view.xml,sha256=BNt633HUe9J-rpSi-VbJ8fp4IagJNf-LS46A9g6sVoc,6224
99
+ odoo/addons/account_loan/views/account_loan_view.xml,sha256=CWZiAzZtF0sD5a7R1uyVQhju3q5CMjhcN5EQ7IgJxCE,10536
100
100
  odoo/addons/account_loan/views/account_move_view.xml,sha256=-dFzRj3e84NTkLCoaAzneAPlwxVtzbjBZyAt6eK_NfM,814
101
101
  odoo/addons/account_loan/views/res_partner.xml,sha256=rneFt7lW3cUoI8UVaLQc9mkiSCii2Os1T3TTYCEB_s0,1248
102
102
  odoo/addons/account_loan/wizards/__init__.py,sha256=mq87kRH_mXzIn76cBCeuzptRiIOdQWjImjmZ_HNGUVU,227
@@ -106,9 +106,9 @@ odoo/addons/account_loan/wizards/account_loan_increase_amount.py,sha256=rR_xp2lM
106
106
  odoo/addons/account_loan/wizards/account_loan_increase_amount.xml,sha256=0g90b8YuFL8DalKXc2482c4WfO-Txbv46T0StIVinfI,1454
107
107
  odoo/addons/account_loan/wizards/account_loan_pay_amount.py,sha256=-kG1q8Ueh0Fl_glZIr3pRVW-7GnPTPhKbVXm_pfOm1Y,4135
108
108
  odoo/addons/account_loan/wizards/account_loan_pay_amount_view.xml,sha256=9rCkG5kL3u2vc4Mmz9zo5Sqfp6raGnPz3ZGv2AlLIN4,1596
109
- odoo/addons/account_loan/wizards/account_loan_post.py,sha256=ImxohbBVZAtG4ufJ9taQh_qRlRaJvOvZTLRhqQBlKUs,3193
109
+ odoo/addons/account_loan/wizards/account_loan_post.py,sha256=9aRQaqPGdV5NSUJ6oiTV8kaUhT5TzuqJ3oFJKefL3Tw,3667
110
110
  odoo/addons/account_loan/wizards/account_loan_post_view.xml,sha256=s-teTEY9HCEA2CHD3_tQZJIGOHJMZNAlR1pSN5Dpdn8,1440
111
- odoo_addon_account_loan-17.0.1.0.0.5.dist-info/METADATA,sha256=nstQ9bE8R_W0rEs8dcm8yZ_TVjsttLTnZSbf5Df9iAg,5395
112
- odoo_addon_account_loan-17.0.1.0.0.5.dist-info/WHEEL,sha256=9fEMia4zL7ZuZbnCOrcYogUhmn4XFIVaJ8G4YGI31xc,81
113
- odoo_addon_account_loan-17.0.1.0.0.5.dist-info/top_level.txt,sha256=QE6RBQ0QX5f4eFuUcGgU5Kbq1A_qJcDs-e_vpr6pmfU,4
114
- odoo_addon_account_loan-17.0.1.0.0.5.dist-info/RECORD,,
111
+ odoo_addon_account_loan-17.0.1.1.0.dist-info/METADATA,sha256=Tr_s2nujihHOpmii9hi9ncyoOi0LiQQfPE9JrTH4Yeg,5450
112
+ odoo_addon_account_loan-17.0.1.1.0.dist-info/WHEEL,sha256=9fEMia4zL7ZuZbnCOrcYogUhmn4XFIVaJ8G4YGI31xc,81
113
+ odoo_addon_account_loan-17.0.1.1.0.dist-info/top_level.txt,sha256=QE6RBQ0QX5f4eFuUcGgU5Kbq1A_qJcDs-e_vpr6pmfU,4
114
+ odoo_addon_account_loan-17.0.1.1.0.dist-info/RECORD,,