diff --git a/purchase.py b/purchase.py index 159db26a05..9a6af579b8 100644 --- a/purchase.py +++ b/purchase.py @@ -1527,6 +1527,11 @@ class Line(sequence_ordered(), ModelSQL, ModelView): invoice_line.product = self.product invoice_line.unit_price = self.unit_price invoice_line.taxes = self.taxes + if self.company.purchase_taxes_expense: + invoice_line.taxes_deductible_rate = 0 + elif self.product: + invoice_line.taxes_deductible_rate = ( + self.product.supplier_taxes_deductible_rate_used) invoice_line.invoice_type = 'in' invoice_line.currency = self.currency invoice_line.company = self.company diff --git a/tests/scenario_purchase.rst b/tests/scenario_purchase.rst index c13f2e7798..77146cb431 100644 --- a/tests/scenario_purchase.rst +++ b/tests/scenario_purchase.rst @@ -188,6 +188,8 @@ Purchase 5 products:: >>> invoice, = purchase.invoices >>> invoice.origins == purchase.rec_name True + >>> invoice.untaxed_amount, invoice.tax_amount, invoice.total_amount + (Decimal('25.00'), Decimal('2.50'), Decimal('27.50')) Invoice line must be linked to stock move::