diff --git a/addons/hr_expense/hr_expense.py b/addons/hr_expense/hr_expense.py index f2f12b06b23..54c411a6159 100644 --- a/addons/hr_expense/hr_expense.py +++ b/addons/hr_expense/hr_expense.py @@ -283,7 +283,6 @@ class hr_expense_expense(osv.osv): if not mres: continue res.append(mres) - tax_code_found= False #Calculate tax according to default tax on product taxes = [] @@ -301,9 +300,9 @@ class hr_expense_expense(osv.osv): a = product.categ_id.property_account_expense_categ.id a = fpos_obj.map_account(cr, uid, fpos, a) taxes = a and self.pool.get('account.account').browse(cr, uid, a, context=context).tax_ids or False - tax_id = fpos_obj.map_tax(cr, uid, fpos, taxes) if not taxes: continue + tax_l = [] #Calculating tax on the line and creating move? for tax in tax_obj.compute_all(cr, uid, taxes, line.unit_amount , @@ -311,15 +310,8 @@ class hr_expense_expense(osv.osv): exp.user_id.partner_id)['taxes']: tax_code_id = tax['base_code_id'] tax_amount = line.total_amount * tax['base_sign'] - if tax_code_found: - if not tax_code_id: - continue - res.append(self.move_line_get_item(cr, uid, line, context)) - res[-1]['price'] = 0.0 - res[-1]['account_analytic_id'] = False - elif not tax_code_id: + if not tax_code_id: continue - tax_code_found = True res[-1]['tax_code_id'] = tax_code_id res[-1]['tax_amount'] = cur_obj.compute(cr, uid, exp.currency_id.id, company_currency, tax_amount, context={'date': exp.date_confirm}) ## @@ -337,7 +329,8 @@ class hr_expense_expense(osv.osv): 'tax_code_id': tax['tax_code_id'], 'tax_amount': tax['amount'] * tax['base_sign'], } - res.append(assoc_tax) + tax_l.append(assoc_tax) + res += tax_l return res def move_line_get_item(self, cr, uid, line, context=None):