1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
from odoo import fields, models
class StockMove(models.Model):
_inherit = 'stock.move'
line_no = fields.Integer('No', default=0)
def _create_account_move_line(self, credit_account_id, debit_account_id, journal_id, qty, description, svl_id, cost):
self.ensure_one()
if self.picking_id.is_internal_use:
AccountMove = self.env['account.move'].with_context(default_journal_id=journal_id)
# 538 is static id for "Biaya Umum Lain-Lain" on account.account model
# 440 is static id for "PPN Keluaran" on account.account model
debit_account_id = self.picking_id.account_id.id if self.picking_id.account_id.id else 538
tax = cost * (11 / 100)
move_lines = self._prepare_account_move_line(qty, cost, credit_account_id, debit_account_id, description)
move_lines += self._prepare_account_move_line(qty, tax, 440, debit_account_id, description)
if move_lines:
date = self._context.get('force_period_date', fields.Date.context_today(self))
new_account_move = AccountMove.sudo().create({
'journal_id': journal_id,
'line_ids': move_lines,
'date': date,
'ref': description,
'stock_move_id': self.id,
'stock_valuation_layer_ids': [(6, None, [svl_id])],
'move_type': 'entry',
})
new_account_move._post()
return True
return super(StockMove, self)._create_account_move_line(credit_account_id, debit_account_id, journal_id, qty, description, svl_id, cost)
|