Skip to content

Commit 0e033d5

Browse files
committed
temp fix on create invoice from sales
1 parent c57b4e1 commit 0e033d5

File tree

4 files changed

+22
-0
lines changed

4 files changed

+22
-0
lines changed

sale_spread_cost_revenue/models/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,4 @@
33
from . import sale
44
from . import sale_line
55
from . import account_spread
6+
from . import account_move_line
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# Copyright 2024 Ecosoft (<https://ecosoft.co.th>)
2+
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
3+
4+
5+
from odoo import fields, models
6+
7+
8+
class AccountMoveLine(models.Model):
9+
_inherit = "account.move.line"
10+
11+
spread_on_sale = fields.Boolean(
12+
help="Flag move line if spread is created from sales order,"
13+
"so it is not recomputed on posting",
14+
)

sale_spread_cost_revenue/models/account_spread.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,3 +80,9 @@ def _message_post_unlink_sale_line(self):
8080
"sale_line": spread.sale_line_id.name,
8181
}
8282
spread.sale_id.message_post(body=msg_body)
83+
84+
def _compute_spread_board(self):
85+
self.ensure_one()
86+
if self.invoice_line_id.spread_on_sale:
87+
return
88+
super()._compute_spread_board()

sale_spread_cost_revenue/models/sale_line.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,7 @@ def _prepare_invoice_line(self, **optional_values):
113113
res = super()._prepare_invoice_line(**optional_values)
114114
# Creating invoice from sales order, ensure same spread account
115115
if self.spread_id:
116+
res["spread_on_sale"] = True
116117
res["spread_id"] = self.spread_id.id
117118
res["account_id"] = self.spread_id.debit_account_id.id
118119
return res

0 commit comments

Comments
 (0)