New Post
Currently, ShipEdge says:
"Automatic Inventory Sync: Inventory update times may vary based on the amount of SKUs, amount of updates, channel load, and other factors."
Unfortunately, daily inventory syncs are not frequent enough for any sellers. As you can imagine, any time a seller goes out of stock of a SKU in ShipEdge, they end up overselling which results in unhappy customers and work on their end to mitigate the damage, because ShipEdge did not sync in time to update their inventory to 0.
Without calling the API to update every single time there's an order, maybe the best idea would be to call the inventory sync API more frequently than once per day and increase the frequency if a SKU is low on stock.
Ultimately, it would be great for ShipEdge to match up with other WMS software companies and have a real-time sync (including being able to sync updates to orders that have already synced to ShipEdge), but for now, the frequency of inventory updates is simply not frequent enough or effective in preventing overselling if that makes sense.
Thank you for your suggestion!
Real-time inventory sync is dependent on the channel, for example, Amazon utilizes an asynchronous process, the inventory update feeds go into a queue plus they have a maximum of feeds allowed per seller. The more inventory we send to update, the longer it takes for the channel to process.
We plan to have zero-blast, that when an item goes to zero all channels will get an update.
Overselling inventory is HORRIBLE for clients - especially on Amazon - where cancelling these orders hurts their seller rating.
The other obvious issue here is that ShipEdge doesn't live-sync orders like a listener (ie Kafka) would. So, orders might not sync for 2,3,4 hours at a time. This means that even if you sync inventory when it hits 0, it may be too late because they may have had 3 units in stock on their platform, but by the time ShipEdge syncs orders, they've gotten 10 orders. So now, it does the inventory sync, but there are -7 units available and it has oversold anyways.
So, really, 2 part problem here:
1) Order sync should be live - use a listener on Kafka for orders or similar.
2) Inventory sync should be happening as soon as inventory gets low/0 to prevent overselling.
https://yepcode.io/recipes/shopify-orders-to-kafka/
real basic idea for kafka
webhooks from shopify when order is placed > kafka > consumer that listens for events > syncs to shipedge
this should not be impacted by API limitation ^