Shopify's own inventory counts the products you sell, by location, and it does that well. If you make those products, you also need to know about the things Shopify doesn't track: ingredients and packaging, the batches you made, and the dates on them. There are three ways to cover that: Shopify plus a spreadsheet, Shopify plus an app that adds batches and expiry dates to your products, or a separate inventory system that knows your recipes and sends finished-goods counts to Shopify. Which one fits depends on whether you need to trace ingredients, not only jars.
The short version
- Shopify tracks units of what you sell, per location. It has no recipes, no raw materials and no lot numbers.
- If you only need expiry dates on finished products, a Shopify app is the cheapest answer.
- If you need ingredients to go down when you make a batch, or a recall to reach back to a supplier's lot, you need a system that knows your recipes.
- Whatever you choose, one system should own each number. Two systems both editing the jam count is how you oversell.
- TaroStack is the third route: it connects to your Shopify store and keeps the kitchen side. More below.
What Shopify does and doesn't track
Shopify counts each product's units at each location, and splits them by state: available to sell, committed to orders, unavailable (damaged, held for quality control, safety stock), and incoming from transfers and purchase orders (Shopify). For a reseller that's most of the job.
A maker's stock mostly lives upstream of that: the fruit and sugar that become jam, the jars and lids, the batch you made on Tuesday and the date it's good until. None of those is a Shopify product, and Shopify has no field for a lot number or an expiry date. There's more on this in does Shopify have an inventory system, and on the ingredient side in Shopify raw materials inventory.
One batch of jam, three ways
Say you make guava jam and sell it on Shopify. On Tuesday you make a batch of 96 jars, best by March 14, 2027, from 30 lb of guava pulp, 24 lb of sugar, 8 oz of pectin, 96 jars, 96 lids and 96 labels. Here's what has to happen, and where, in each route.
| What has to happen | Shopify and a spreadsheet | Shopify and a batch app | An inventory system connected to Shopify |
|---|---|---|---|
| Jam available goes up by 96 | You edit it in Shopify | The app adds a batch of 96 | Recording the batch sends the new count |
| Pulp, sugar, pectin, jars, lids and labels go down | You subtract them in the sheet | You subtract them in the sheet | The recipe takes them off, from the lots used |
| The batch and its date are kept | On the jar, and in the sheet if you remember | In the app, with the date | With the batch, with the date |
| The oldest jars ship first | Someone checks the shelf | The app can assign batches to orders | Picking takes the oldest lot by default |
| Pectin supplier recalls a lot | You work it out from notes | The app knows which orders got which jam batch, not which pectin went in | One report, from pectin lot to customers |
| Places you type | 2 | 2 | 1 |
The first route is fine for a few products and one person. The second adds dates and shipping order at a low price, and its limit is the pectin row: it knows your jars, not your ingredients. The third is more setup and more money, and it's the only one where recording the batch once does all six things.
What each route costs
From each company's pricing page on September 26, 2026. Monthly billing unless noted.
| Route | Example | Price | Notes |
|---|---|---|---|
| Shopify and a spreadsheet | Your Shopify plan | Nothing extra | Two places to update after every batch |
| Shopify and a batch app | Freshly Batch Inventory | Free for 10 products; Pro $24/month | Batches, expiry dates, FEFO or FIFO assignment to orders; 4.8 stars from 46 reviews |
| Inventory system | Stocksmith (was Craftybase) | Indie $99/month; Business $199/month | Stock sync is manual on Indie and automatic on Business; imports daily on Indie, hourly on Business |
| Inventory system | Katana | Free up to 30 SKUs; Core from $299/month | Shopify is the ecommerce integration on the free plan; lots are a $249/month add-on |
| Inventory system | MRPeasy | $49/month per user | Shopify among its integrations on every plan |
| Inventory system | inFlow Inventory | $161/month, 1 integration included | Shopify among its integrations; lots are a $69/month add-on |
| Inventory system | TaroStack | Starter $49 a month; Standard $99 a month | Lots and expiry on every plan; recipes and batches on Standard |
Freshly's listing shows 46 reviews averaging 4.8 on September 26, 2026, and it's been in the App Store since July 2020 (Shopify App Store). If you resell dated goods, start there.
How to choose
My view, for what it's worth. If you buy finished products and resell them, stay in Shopify and add a batch app if dates matter. If you make what you sell but only a few products, Shopify and a good spreadsheet will carry you further than you'd think, especially with a lot tracking spreadsheet beside it. If you make things from ingredients that have their own lots and dates (food, cosmetics, anything a recall could reach), you'll want the third route sooner or later, and sooner is cheaper than after a recall.
Whichever route you take, decide which system owns which number. Shopify can own what's available to sell, or your inventory system can, but not both. If you're already seeing counts drift, Shopify inventory not updating covers the usual causes.
Where this stops working
A connected system is only as current as the connection. If it sends stock to Shopify once a day, a busy afternoon can sell jars that went into a gift box at noon. Know how often yours updates, and keep a small buffer on products that sell fast.
About us, plainly: TaroStack isn't in the Shopify App Store yet. Each early store is connected by hand, with us, and orders arrive by import and a daily check rather than to the second, so it suits makers who sell steadily more than shops running flash sales. It connects to Shopify and Square only (no Etsy, Amazon or WooCommerce), and there's no live QuickBooks or Xero connection yet.
How TaroStack does it
The third route in the example is the one where the batch of 96 jars of guava jam takes its pulp, sugar, pectin and jars off the shelf as it's recorded, and that's how TaroStack works. Connect your Shopify store, and we set it up with you. Your products and locations come in, orders arrive by import and a daily check, and when you record a batch the recipe takes the ingredients and packaging off, from the lots that expire first, and notes which lots went in. The finished jam gets its own lot and best-by date.
One system owns each number, which is the rule the short version ends on: TaroStack owns the stock and the lots, and a daily check catches drift between TaroStack and the store and tells you, rather than silently overwriting either side. When a pectin supplier writes about a bad lot, the recall report reaches from their lot to your jars to the customers who got them.
Starter, at $49 a month, covers stock, lots, expiry and recalls with Shopify or Square. Standard, at $99, adds recipes, batches, true cost and planning, with both. The first 30 days are free, and your items and opening stock import from CSV with a preview of every row. If you'd like a hand setting up, ask, and we'll do it with you.
