diff --git a/addons/point_of_sale/pos.py b/addons/point_of_sale/pos.py index 778c504337d..c8d276ef03f 100644 --- a/addons/point_of_sale/pos.py +++ b/addons/point_of_sale/pos.py @@ -1043,6 +1043,7 @@ class pos_order_line(osv.osv): tax_amount = 0.0 taxes = [t for t in line.product_id.taxes_id] if line.qty == 0.0: + res[line.id][f] = 0.0 continue computed_taxes = account_tax_obj.compute_all(cr, uid, taxes, line.price_unit, line.qty)['taxes'] for tax in computed_taxes: diff --git a/addons/point_of_sale/wizard/pos_return.py b/addons/point_of_sale/wizard/pos_return.py index 6d926c8d408..96187d78ce2 100644 --- a/addons/point_of_sale/wizard/pos_return.py +++ b/addons/point_of_sale/wizard/pos_return.py @@ -209,7 +209,8 @@ class pos_return(osv.osv_memory): 'date': date_cur, 'date_planned': date_cur }) - line_obj.copy(cr, uid, line.id, {'qty': -qty, 'order_id': new_order}) + if qty != 0.0: + line_obj.copy(cr, uid, line.id, {'qty': -qty, 'order_id': new_order}) statementl_obj.create(cr, uid, { 'name': 'Refund %s'%order_id.name, 'statement_id': order_id.statement_ids[0].statement_id.id,