Greetings!
I like the task you desribed, because my lovely work is to create something new, not just to perform some todo list.
I already have, let say, a draft of the solution in my brain:
- as far as I see each order normally assumes some product to get from the stock, dispatch to the client, then get it back. Optionally, stock to get from and stock to put to may be different ones, especially if you know for sure that new client waits for the product and one is closer to another stock
- so the main data structure seems to be: products (product lines, colours), orders (products, volumes, place, dates), all other logic seems to be made on level of forms and reports
- per order you have to be able to see if needed volume is on nearest stock, if not, you have to be able to tune to wich stock to get returned products of earlier orders
- also, you have to see if you have enough products to cover all orders at all, regardless of stocks where they are kept, moreover, some part of products might be damaged/broken, it also affects on stocks, so time-to-time purchases are needed
So, I think I'm able to produce usefull, native and reliable solution that will really help you to manage your everyday work and I'll be open to fix any bugs (if any) as well as to develope futher functionality upon you'll feel ready for.
Regards,
Sergey