It often happens that we have to cancel a confirmed sale in order to add/remove items.
These sales are all setup with:
Invoice Method: Manual
Shipment Method: On Order Processed
What we are currently doing is:
Cancel all shipments
Use the “Handle Shipment Exception” wizard to remove all stock moves
Duplicate the sale
Delete the now canceled sale
Edit the duplicate as required
Is there any solution (script / module) out there that can automate the process described above?
Thanks in advance
Joerg
Edit: we can not use a grace period (“Process Sale after”) as mentioned here (Add an one click cancelation action to sales) because this can happen days after the sale is confirmed (which in our case is more of an ongoing project).
what about the old one, especially the stock moves? this sale must be canceled first
there are often more than thirty lines in a sale. if we create a new sale from scratch we have to re-enter them all (except perhaps one, which should be deleted).
apart from all the other information needed for a sale
But that’s how it actually is, at least in our case.
Hence my original question, if anyone knows of a script / wizard / module that automates the five steps described in my first post. That would really help us!
I’m not aware of an existing solution but it should not be dificult to code a wizzard that for each sale cancels the existing moves, it adds them to the moves ignored table and then duplicates the sale.
there is a confirmed sale with 50 lines.
in our case, this sale runs for several weeks (as I said, it’s more of a project).
after one week, ten items have to be removed from this sale and fifteen new ones must be added.
your suggestion would be to leave the original sale as it is and simply create a completely new sale and then add (the now correct) 55 lines to this new sale.
this would mean that after some time we would have several hundred uncompleted sales and uncompleted stock movements, or have I missed something?
i also think that this is the right way to go. i just wanted to hear if anyone has already made the effort before i start to implement this (or try to :-)).