- res = self.pool.get('account.fiscal.position').map_tax(cr, uid, fpos, taxes)
- return {'value':{'invoice_line_tax_id': res}}
+ tax_ids = self.pool.get('account.fiscal.position').map_tax(cr, uid, fpos, taxes)
+
+ product_change_result = self.product_id_change(cr, uid, ids, product_id, False,
+ partner_id=partner_id, fposition_id=fposition_id)
+ unique_tax_ids = set(tax_ids)
+ if product_change_result and 'value' in product_change_result and 'invoice_line_tax_id' in product_change_result['value']:
+ unique_tax_ids |= set(product_change_result['value']['invoice_line_tax_id'])
+ return {'value':{'invoice_line_tax_id': list(unique_tax_ids)}}