Woocommerce stock management

20200512 Warning: This page is just a StreamOfConsciousness(tm)

Issue:

  • managing 1000 sku’s is hard work
  • vProduct sales shows totals for %complete% orders
  • we want to be able to set stock levels whilst picking orders
  • we do not differentiate in woocommerce states orders that are picked vs unpicked..

BUT when picking, and stock checking, I want to see:

  • complete + picked incomplete
  • not picked incomplete
  • and current stock level

I want to be able to input a point in time stock amount that represents factual actual stock on hand, all stock calculations reconciliations are from that point forward BUT:

  • How to do this if there are incomplete orders at that point in time?
  • OK: Since BAC & PAID Paypal orders have done their stock decrementing already even if incomplete.. and unpaid Paypal orders do not usually hang around.. we will ignore unpaid paypal orders

Considering states of orders per a product:

Scenario 1:

  1. We have complete orders = sold qty

Scenario 2:

  1. We have complete orders = sold qty
  2. We have unpicked incomplete orders where inventory has been decremented

Scenario 3:

  1. We have complete orders = sold qty
  2. We have unpicked incomplete orders where inventory has been decremented
  3. We have picked incomplete orders where inventory has already been decremented

Hmm, so perhaps to be able to set stock whilst picking we accept that datetime of stockcount is always between last picked & next unpicked order:

  1. Pick orders in first come first served
  2. If setting stock count at a point in time whilst picking, it is set per the datetime of the order we are picking
  3. If setting stock count whilst not picking stock point in time can be datetime of first unfulfilled order

Butttt. what if we then refund a picked order?

So this all seems a bit too hard so we will firstly implement for scenario 1 above (the simplest scenario), i.e. we set stock count with a datetime that assumes no incomplete orders

In all scenarios, we also assume that any arrived stock has been checked in already..