@api.depends('product_qty', 'list_price', 'taxes_id','discount')
def _compute_amount(self):
for line in self:
taxes = line.taxes_id.compute_all(line.list_price, line.order_id.currency_id, line.product_qty, product=line.product_id, partner=line.order_id.partner_id)
if line.discount:
discount = (line.list_price * line.discount) / 100
line.update({
'price_tax': taxes['total_included'] - taxes['total_excluded'],
'price_total': taxes['total_included'] ,
'price_subtotal': taxes['total_excluded'] - discount,
'price_unit': line.list_price - discount,
'discount': (1 - (line.price_unite / line.list_price)) * 100,
})
else:
line.update({
'price_tax': taxes['total_included'] - taxes['total_excluded'],
'price_total': taxes['total_included'],
'price_subtotal': taxes['total_excluded'],
})