• Resolved yknivag

    (@yknivag)


    There seems to be one, or maybe two bug(s) in the way this plugin handles the “Low Stock” filter.

    With the WooCommerce global low stock threshold is set to 2 and all products having the ATUM Inventory Control switch set to “On”, consider the following scenarios:

    1. I have a product with 5 units in stock. An order is placed through the store for 4 units.
      – WooCommerce shows the item as “low in stock” on the stock report and in the dashboard as soon as the order is in “Processing”.
      – ATUM Stock Central doesn’t show that item as “Low Stock” until the order is “Completed”. Even though the stock number is decreased to 1 as soon as the order is in “Processing”.
      – This means that for some time the states are inconsistent.
    2. I have another product with 5 units in stock. I manually reduce the level by 4 units in Stock Central because on a stock count I have found that I have only 1 left. I do this by changing the number in stock and pressing “Save Data”.
      – WooCommerce immediately shows the item as “Low Stock” both on the dashboard and in the Low Stock Report.
      – ATUM Stock Central will never mark this as “Low Stock” nor add it to the ATUM Low Stock Filter. At least not until another order goes through for that particular product (which would set it to out of stock anyway).

    In the first case the behaviour is not only inconsistent with WooCommerce but also inconsistent within ATUM. If the number in stock is below the low stock threshold then surely it should be in the low stock report. This does resolve eventually when the order is processed, but it is still unusual.

    In the second case the inconsistencies between ATUM and WooCommerce and internally within ATUM appear to be permanent until the item goes back above the threshold.

    Maybe I have missed something, but I have struggled for some time to find a rational explanation for either behaviour and have failed to imagine a single scenario where either of these is in any way desirable.

    Is there a reason for this to work how it does? Or is there a bug?

    • This topic was modified 3 years, 10 months ago by yknivag.
    • This topic was modified 3 years, 10 months ago by yknivag.
Viewing 3 replies - 1 through 3 (of 3 total)
  • Plugin Author Stock Management Labs

    (@stockmanagementlabs)

    HI @yknivag ,

    Thank you very much for your post.

    I can see that you have done some good testing and spend a lot of time. Please, consider always looking into a documentation as this can save you tons of it.

    You have missed one important thing and such is that ATUM and WooCommerce Low Stock feature has nothing to do with one another 🙂

    WooCommerce has a low stock for one reason only and that is to notify you by email. You should not be using the WC stock preview if you are using Stock Central, why would you even do that?

    ATUM Stock Central low stock is a calculated feature from your sales and your setting. So it calculates sales data and tells you when to restock. I can not give you a link to docs as that would make this topic a spam. But when you go to ATUMs help menu it will give you the route to all documentation. There it is nicely explained.

    However, when you have an item that you keep at level 5 in stock and you restock with such little amount is very hard to predict and avoid out of stock issue even with the best software.

    I will try to explain the cases above – case 1 – ATUM monitored the sales and sale is only completed when done – so it calculated sales with the past 7 days and if your restock is set to 14 it told you that you are low and should restock.

    In case 2 you have changed it manually so this feature did not have any sales data. It can not tell you if you are low as you never sold anything.

    Hope this makes sense.

    Pavel

    Thread Starter yknivag

    (@yknivag)

    Hi @stockmanagementlabs,

    I have taken some time to read and re-read your response to ensure that I have understood it properly.

    I think there are two issues:

    1. You have used the label “Low Stock” where you really meant “Re-order threshold reached”. This is confusing, but it explains a good deal.
    2. All other stock calculations are based on the point of sale and yet the “Low Stock” calculation is based on orders shipped (order in a state of complete). This difference is very slight in an environment with a large number of orders where the majority ship the same day. However in a lower volume environment and/or where there may be a substantial delay in shipment this delay throws off the calculation. There could be any number of products sold but not shipped (order in a state of hold/processing) which are not being taken into account by the “Low Stock” calculation as it stands.

    Generally the phrase “low stock” would, I think, be understood to be the point at which the number of units available to sell was below that which could be replenished in time to keep the product available. Not accounting for items which are sold (ie no longer available for sale) but not yet shipped can easily lead to items going out of stock before they are counted as “Low Stock”.

    If “Low Stock” is (as you suggest in your reply) the point at which more stock needs to be ordered in time to be delivered before an item goes out of stock then surely it should be triggered when:

    (Number of units available to sell)/(Number sold per day) <= (Number of days to replenish)

    Whereas at the moment it seems to be:

    (Number of units available to sell + Number sold but not shipped)/(Number shipped per day) <= (Number of days to replenish)

    This latter calculation (whilst easier to do in WooCommerce) appears to make little logical sense.

    Given that Stock Central correctly reports the “Number of units available to sell” as the stock level (ie it decrements the stock when sold not when shipped) one would expect all the calculations to do the same.

    Whilst it is inconsequential for an organisation that simply packs stock from a shelf and ships it immediately, it doesn’t really work at all well where shipping is not as immediate. There are many situations where orders may be legitimately delayed in shipment, for example where a product requires personalisation or another item is on backorder (or special order) or waiting for cleared funds or for import/export paperwork on an international order. In all of these cases the “Low Stock” flag will not be triggered as those sold units are not being counted as sales. This means in all these cases that an item may actually go out of stock before the “Low Stock” triggers.

    This type of calculation also leads to a second issue; it doesn’t work at all well for products which sell at low volume or which sell sporadically or seasonally. Something like sunshades which don’t sell at all well in the winter would happily not report low stock until a very low number, but the user needs to have sufficient stock for the start of summer. For these types of products a static threshold would make much more sense. Or a trigger based on the combination of sales/day but with a static minimum which would trigger when either was reached.

    It seems that “Low Stock” was an attempt to create an intelligent replenishment flag but it seems that only one scenario was considered (that of high volume products which sell at a constant rate and ship immediately). It doesn’t work at all well in circumstances where all three of those are not met. More complex seasonal averaging may help for some products but only where there is sufficient order history for a meaningful comparison.

    In summary:

    • Basing “Low Stock” on shipped orders rather than units sold is a bug.
    • “Low Stock” is ineffective where sales are not relatively constant. This could be resolved with the option of a static minimum.

    It may be that I have misunderstood your reply or the way the flag works and please do let me know if that is the case. Otherwise I think there is a need for you to revisit the way these calculations are done and certainly the way they are explained in the documentation.

    Plugin Author Stock Management Labs

    (@stockmanagementlabs)

    HI @yknivag ,

    Thank you very much for your reply.

    Yes, you are absolutely right and as such the feature calculates only stock that has been deducted by WooCommerce. For most users (and we do the basic free version for most users) the stock that is actually gone is stock that is sold.

    In your specific case, you will need to wait for advanced features (planned already) or some of our upcoming premium add-ons. We want to give users the option to filter statuses for this low stock calculation. I am not able to tell when this will get released but for sure this year 🙂

    Hope this helps.

    Pavel

Viewing 3 replies - 1 through 3 (of 3 total)
  • The topic ‘Low Stock Bug?’ is closed to new replies.