=== modified file 'sale/sale.py' --- sale/sale.py 2012-10-09 12:16:14 +0000 +++ sale/sale.py 2012-11-05 09:16:52 +0000 @@ -821,6 +821,10 @@ for line in order_lines: if line.state == 'done': continue + # If the Sale Order Line already has Stock Moves, skip it if no moves were cancelled + if line.move_ids and all( + [m.state != 'cancel' for m in line.move_ids]): + continue date_planned = self._get_date_planned(cr, uid, order, line, order.date_order, context=context)