diff --git a/addons/hr_expense/models/hr_expense.py b/addons/hr_expense/models/hr_expense.py index 1cc6e2cbd45..a1a7c927b3c 100644 --- a/addons/hr_expense/models/hr_expense.py +++ b/addons/hr_expense/models/hr_expense.py @@ -395,6 +395,7 @@ class HrExpense(models.Model): 'employee_id': employee.id, 'product_id': product.id, 'product_uom_id': product.uom_id.id, + 'tax_ids': [(4, tax.id, False) for tax in product.supplier_taxes_id], 'quantity': 1, 'unit_amount': price, 'company_id': employee.company_id.id, diff --git a/addons/hr_expense/tests/test_expenses.py b/addons/hr_expense/tests/test_expenses.py index b3cb5227230..d789f6e92be 100644 --- a/addons/hr_expense/tests/test_expenses.py +++ b/addons/hr_expense/tests/test_expenses.py @@ -87,3 +87,23 @@ class TestCheckJournalEntry(TransactionCase): self.assertAlmostEquals(line.debit, 636.36) else: self.assertAlmostEquals(line.debit, 63.64) + + def test_expense_from_email(self): + user_demo = self.env.ref('base.user_demo') + self.tax.price_include = False + + message_parsed = { + 'message_id': 'the-world-is-a-ghetto', + 'subject': '[AT] 9876', + 'email_from': 'demo@yourcompany.example.com', + 'to': 'catchall@yourcompany.com', + 'body': "Don't you know, that for me, and for you", + 'attachments': [], + } + + expense = self.env['hr.expense'].message_new(message_parsed) + + self.assertEquals(expense.product_id, self.product) + self.assertEquals(expense.tax_ids.ids, [self.tax.id]) + self.assertEquals(expense.total_amount, 10863.60) + self.assertTrue(expense.employee_id in user_demo.employee_ids)