Comment 6 for bug 1080617

Revision history for this message
Olivier Dony (Odoo) (odo-openerp) wrote : Re: [6.0 / 6.1 / trunk] Sale Order marked as delivered when the OUT move has not yet been processed

A bit of context:
The goal of the procurement orders driven by the SO flow is to deliver the products to the "output" location of the warehouse. The procurement logic is correct in this respect, and when these procurement orders are "done", the goods are indeed delivered to the "output" location. This should not be changed.
However it also happens that with the default one-step-delivery mode, delivering to "output" equals delivering to "customers", and sale orders abuse this and indicate as "shipped" any order whose lines are all "delivered to output" (which often means shipped, but not always)

Resolution exploration (not sure yet what to do):
Changing the above behavior to have the "shipped" flag really mean that all products are delivered would be possible if "shipped" was replaced by a stored function field. However that would make "shipped" possibly desynchronized from the SO workflow, which could thus reach "ship_end" (or even "done") without having been fully delivered. On the other hand, making these 2 things properly synchronous with the "fully delivered logic" would require deeper changes in the workflow, possibly too much for stable versions -> this needs more investigation. In any case, I'm pretty sure that the procurement logic is fine here and must not be altered.