diff --git a/addons/sale/models/sale.py b/addons/sale/models/sale.py index f226767ba6f..eabb9a28912 100644 --- a/addons/sale/models/sale.py +++ b/addons/sale/models/sale.py @@ -372,10 +372,11 @@ class SaleOrder(models.Model): raise UserError(_('There is no invoicable line.')) for invoice in invoices.values(): + invoice.compute_taxes() if not invoice.invoice_line_ids: raise UserError(_('There is no invoicable line.')) # If invoice is negative, do a refund invoice instead - if invoice.amount_untaxed < 0: + if invoice.amount_total < 0: invoice.type = 'out_refund' for line in invoice.invoice_line_ids: line.quantity = -line.quantity