diff --git a/addons/account_discount/models/account_invoice.py b/addons/account_discount/models/account_invoice.py index 16ad498b..f62da34e 100644 --- a/addons/account_discount/models/account_invoice.py +++ b/addons/account_discount/models/account_invoice.py @@ -26,7 +26,7 @@ class AccountInvoice(models.Model): def _get_total_amount(self): for invoice_id in self: invoice_id.gross_amount = sum( - [line_id.quantity * line_id.price_unit + [invoice_id.currency_id.round(line_id.quantity * line_id.price_unit) for line_id in invoice_id.invoice_line_ids]) discount_method = fields.Selection( diff --git a/addons/purchase/models/account_invoice.py b/addons/purchase/models/account_invoice.py index 93865444..350cdac7 100644 --- a/addons/purchase/models/account_invoice.py +++ b/addons/purchase/models/account_invoice.py @@ -81,9 +81,10 @@ class AccountInvoice(models.Model): new_lines = self.env['account.invoice.line'] for line in self.purchase_id.order_line - self.invoice_line_ids.mapped('purchase_line_id'): data = self._prepare_invoice_line_from_po_line(line) - new_line = new_lines.new(data) - new_line._set_additional_fields(self) - new_lines += new_line + if data.get('quantity', False) > 0: + new_line = new_lines.new(data) + new_line._set_additional_fields(self) + new_lines += new_line self.invoice_line_ids += new_lines self.payment_term_id = self.purchase_id.payment_term_id diff --git a/addons/sales_discount/models/sale.py b/addons/sales_discount/models/sale.py index d42e6504..a7c844c5 100644 --- a/addons/sales_discount/models/sale.py +++ b/addons/sales_discount/models/sale.py @@ -26,8 +26,8 @@ class SaleOrder(models.Model): def _get_total_amount(self): for order_id in self: order_id.gross_amount = sum( - [line_id.product_uom_qty * - line_id.price_unit for line_id in order_id.order_line]) + [order_id.pricelist_id.currency_id.round(line_id.product_uom_qty * + line_id.price_unit) for line_id in order_id.order_line]) discount_method = fields.Selection( [('fixed', 'Fixed'), ('per', 'Percentage')], string="Discount Method")