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)