[IMP]: Rounding issues for sale/account discount and remove the line in the invoice when the shipment is not create in purchase order line
This commit is contained in:
parent
542a1d33d1
commit
7a8c2750ff
@ -26,7 +26,7 @@ class AccountInvoice(models.Model):
|
|||||||
def _get_total_amount(self):
|
def _get_total_amount(self):
|
||||||
for invoice_id in self:
|
for invoice_id in self:
|
||||||
invoice_id.gross_amount = sum(
|
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])
|
for line_id in invoice_id.invoice_line_ids])
|
||||||
|
|
||||||
discount_method = fields.Selection(
|
discount_method = fields.Selection(
|
||||||
|
@ -81,9 +81,10 @@ class AccountInvoice(models.Model):
|
|||||||
new_lines = self.env['account.invoice.line']
|
new_lines = self.env['account.invoice.line']
|
||||||
for line in self.purchase_id.order_line - self.invoice_line_ids.mapped('purchase_line_id'):
|
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)
|
data = self._prepare_invoice_line_from_po_line(line)
|
||||||
new_line = new_lines.new(data)
|
if data.get('quantity', False) > 0:
|
||||||
new_line._set_additional_fields(self)
|
new_line = new_lines.new(data)
|
||||||
new_lines += new_line
|
new_line._set_additional_fields(self)
|
||||||
|
new_lines += new_line
|
||||||
|
|
||||||
self.invoice_line_ids += new_lines
|
self.invoice_line_ids += new_lines
|
||||||
self.payment_term_id = self.purchase_id.payment_term_id
|
self.payment_term_id = self.purchase_id.payment_term_id
|
||||||
|
@ -26,8 +26,8 @@ class SaleOrder(models.Model):
|
|||||||
def _get_total_amount(self):
|
def _get_total_amount(self):
|
||||||
for order_id in self:
|
for order_id in self:
|
||||||
order_id.gross_amount = sum(
|
order_id.gross_amount = sum(
|
||||||
[line_id.product_uom_qty *
|
[order_id.pricelist_id.currency_id.round(line_id.product_uom_qty *
|
||||||
line_id.price_unit for line_id in order_id.order_line])
|
line_id.price_unit) for line_id in order_id.order_line])
|
||||||
|
|
||||||
discount_method = fields.Selection(
|
discount_method = fields.Selection(
|
||||||
[('fixed', 'Fixed'), ('per', 'Percentage')], string="Discount Method")
|
[('fixed', 'Fixed'), ('per', 'Percentage')], string="Discount Method")
|
||||||
|
Loading…
Reference in New Issue
Block a user