Stocky's Demise: 4 Critical Data Traps Shopify Merchants Must Avoid After Migration
Alright, folks, let's talk about the elephant in the room for many Shopify store owners: Stocky's gone. As of August 31st, it officially shut its doors, and for a lot of us, that meant a scramble to find a replacement. While most of the initial chatter in the community was about getting your data out before the deadline, now that the dust has settled, a new set of challenges is popping up.
As migration experts at Shopping Cart Mover, we've been closely monitoring the Shopify Community discussions. A recent thread, titled "Stocky is gone - three things that catch people out afterwards, whichever replacement you picked," really highlighted some critical—and often overlooked—data traps that can catch you out, no matter which inventory or forecasting app you picked. It's not just about finding a tool that 'does the job'; it's about understanding how these tools interact with your Shopify data and what that means for your business down the line. Let's break down the four big ones that kept coming up, drawing insights directly from the experts in that discussion.
1. Your Sales History Isn't a Given: The 60-Day Trap & Why It Matters
This is probably the most crucial point, and it's one that juhyun_han, a knowledgeable expert in the thread, really hammered home. When you install a new app, especially one for forecasting or inventory planning, you'd naturally expect it to see all your past sales data, right? Well, not always.
Shopify's standard
read_orders permission typically only exposes the last 60 days of orders to an app. To get your full sales history, an app needs the read_all_orders permission, which Shopify grants on a case-by-case basis. But here's the kicker, as Ian_Chechin and juhyun_han pointed out: even if an app has read_all_orders, it doesn't automatically mean it's collecting and storing your entire history.
Some apps might just re-read a rolling 60-day window every time, which means your historical data beyond that window is never truly captured. As juhyun_han wisely noted, this can lead to a "confident wrong answer" where older data appears as zeros because Shopify returns an empty page for requests older than 60 days without the proper scope. This silent failure means your seasonal comparisons for last autumn could be completely inaccurate.
Actionable Insight: Before committing to any new forecasting or inventory app, ask two critical questions: "Which permission do you hold (specifically,
read_all_orders)?" and "What do you do with it? Do you store a full historical archive, or do you re-read a rolling window?" If you're still in the process of choosing, start archiving your order history separately today. The history you have a year from now is whatever something started keeping today.
2. Skewed Averages: The Silent Killer of Accurate Forecasting
Another subtle but significant trap highlighted in the discussion is how out-of-stock periods can quietly wreck your sales averages. The standard calculation for a daily sales rate is often "units sold divided by days." However, if a product was unavailable for a significant portion of those days, dividing by the total number of days will make it appear as if it sells much slower than it actually does.
For example, if a product sold 100 units over 30 days but was out of stock for 20 of those days, a simple calculation gives you ~3.3 units/day. But its true selling rate when available was 10 units/day (100 units / 10 available days). Relying on the skewed average will lead you to reorder less, miss potential sales, and perpetuate a cycle of understocking.
Actionable Insight: When evaluating a new app, inquire about its methodology for calculating sales velocity. Does it account for "available days" or "in-stock days"? Does it have features to detect and adjust for periods when a product was out of stock? This small detail can have a massive impact on the accuracy of your reorder points and overall inventory health.
3. The Unseen Data: Supplier Knowledge and Free-Text Notes
This point, eloquently brought up by Denyslg, is perhaps the most insidious because it has "no technical fix at all" during migration. Much critical supplier information—Minimum Order Quantity (MOQ), case sizes, specific lead times (e.g., "call before ordering hoodies, they run two weeks late in Q4"), and payment terms—often lives in free-text notes within your old system (like Stocky).
When you export supplier data, these structured exports typically only capture fields like supplier name, contact, etc., completely missing the invaluable free-text notes. The consequence is worse than a blank field; as juhyun_han puts it, "a reorder quantity that ignores a case of 144 is not a missing number, it is a confident wrong one." A "beautiful reorder point of 37 units" becomes meaningless if your supplier only ships in cases of 144.
Actionable Insight: This data requires manual intervention. If you still have read-only access to Stocky or its exports, go through your supplier records and copy out all free-text notes verbatim. Look for new apps that can parse this pasted text into structured fields (like Binly, which Denyslg builds, mentioned in the thread). This human element is crucial for preserving the nuances that drive actual reorder decisions.
4. Shopify's Evolving PO Landscape: What You Need to Know
Initially, it was widely believed that Shopify had no Purchase Order (PO) API, making it impossible for apps to interact with POs or for merchants to import historical POs. While juhyun_han corrected this in the thread, noting Shopify's Physical Inventory feature preview, it comes with significant caveats.
Shopify is indeed building this functionality, with a read-only GraphQL Admin API for
inventoryPurchaseOrder and inventoryPurchaseOrders. This allows apps to read POs, their line items, and suppliers. However, two critical points remain:
- Read-Only: There is still no mutation to create or update a purchase order via the API. This means an app cannot write new POs into Shopify, nor can it import your historical Stocky PO data into Shopify's native system. Shopify's own migration page confirms: "Historical purchase orders can’t be imported into Shopify."
- Unstable & Preview: The feature is unstable and sits behind a per-store feature preview on development stores. Most live stores don't have this enabled, meaning apps aren't widely using it today.
Actionable Insight: While Shopify is moving in the right direction, the practical advice remains unchanged for now: keep your Stocky exports for historical purchase order data. Do not rely on Shopify's current native PO capabilities or its nascent API for migrating or fully managing your historical POs. You'll need an external app for comprehensive PO management and history.
Navigating the Post-Stocky World with Confidence
The departure of Stocky served as a stark reminder that robust inventory management and accurate forecasting are not just about having a tool, but about understanding how that tool interacts with your data. The "Stocky is gone" thread in the Shopify Community is a testament to the collective wisdom of merchants and developers grappling with these complexities.
By being proactive, asking the right questions of your new apps, and understanding the nuances of data migration, you can avoid these common traps and ensure your business continues to thrive. For those looking to start or grow their e-commerce journey, building on a robust platform like Shopify provides the foundation, but smart app choices and diligent data management are key to long-term success.