GuideShared stock
Shared Inventory Across Sizes on Shopify: 4 Options
Shopify gives every variant its own stock count, so sizes poured or weighed from one container need their numbers kept in step. There are four ways: retype the counts by hand, keep a spreadsheet per container, build each size as a bundle of a hidden 10 g or 1 ml item, or use a pool-based app that takes size × quantity from the container and recounts every size.
Take a 2 kg bag of coffee sold as 250 g, 500 g and 1 kg bags. Shopify tracks inventory per variant, so each bag size gets its own number, and nothing in Shopify knows the three come out of the same bag. Outside of bundles, Shopify has no setting that makes one variant's sale lower another variant's count.
Filling in those numbers yourself fails one of two ways. Split the bag between the sizes, 250 g × 2, 500 g × 1 and 1 kg × 1, and the 1 kg shows sold out after one order while a kilo is still in the bag. Put the whole bag on every size, 250 g × 8, 500 g × 4 and 1 kg × 2, and after two 1 kg orders the bag is empty while Shopify still offers 8 and 4.
Every option below does the same arithmetic: sellable = (amount left − reserve) ÷ size, rounded down, worked out again after every order, refund and cancellation. They differ in who does it, and how soon after the sale.
The options at a glance
| Option | Who does the math | Fine when | Where it breaks |
|---|---|---|---|
| Separate counts by hand | You, at each count | A handful of containers, a few orders a day | The store is wrong between counts |
| A spreadsheet | The sheet, then you copy it | One number per container, updated daily | Copying both ways, every day |
| Bundles or a unit variant | Shopify, in whole units | Whole-unit sizes, a short list | Fractions, mixed units, one bundle per size |
| A pool-based app | The app, after every order | Many containers, orders around the clock | A monthly fee past the free tier, a few cases it doesn't cover |
1. Separate counts, kept by hand
Keep Shopify's own counts and correct them yourself. After each batch of orders, look at the bottle or weigh the bag, work out how many of each size it can still fill, and type those numbers into each variant.
- Fine when you carry a handful of containers, get a few orders a day and pack them yourself. It costs nothing and needs no setup.
- Where it breaks: between counts the store shows whatever you typed last, so orders that come in overnight or on a busy weekend sell against old numbers. Refunds and cancellations put units back on one size only, if they put anything back. And the work grows with the catalog: 30 products in three sizes is 90 numbers to keep right.
2. A spreadsheet per container
One row per bottle, bag or drum, with the amount left, the reserve, and a column per size. For a 250 g bag, =INT((B2 - C2) / 250) gives the count. When an order ships you take it off the amount, and every size updates in the sheet. Shopify can export and import inventory as a CSV file, so the sheet's numbers can go in all at once instead of one by one.
- Fine when you want one number per container that you can read at a glance, and you are happy to update it once or twice a day. It is a real step up from separate counts, because every size comes from the container.
- Where it breaks: orders don't update the sheet and the sheet doesn't update Shopify on its own, so someone copies numbers in both directions, every day. Between updates the store sells against the last import, and a missed refund or a typo carries forward until the next count.
3. Shopify's own features: bundles and unit variants
Two workarounds use only what Shopify already has.
Bundles or multipacks of a hidden unit item
Shopify's bundles work out a bundle's stock from the stock of the items in it, and take those items out when a bundle sells. Some shops use that for portions: make one hidden item that stands for 10 g, give it 200 in stock for a 2 kg bag, and set up each size as a bundle or multipack of it. The 250 g bag uses 25, the 500 g uses 50 and the 1 kg uses 100. Sell a 1 kg bag and every size follows the hidden item down.
- Fine when every size is a whole number of the unit, the list is short, and you already use bundles for gift sets or kits.
- Where it breaks: sizes have to be whole units of the hidden item. A 2.5 ml decant needs a 0.5 ml item, and a 12 oz bag is 340.2 g, which needs a 0.1 g item and 3,402 of them per bag. Each size is a bundle to build and keep up: 30 coffees in three sizes is 90 bundles and 30 hidden items. Keeping back a reserve means lowering the hidden item by hand.
- Test before you rely on it: refund and cancel an order with restock and check what goes back to the hidden item, and check that bundles work on every channel you sell through.
One variant per unit
The other workaround is a single variant per product, such as 10 g or Per 100 ml, priced per step, with the customer choosing the quantity: 25 × 10 g for 250 g. Every sale comes off one count, so nothing drifts. Refill shops use it at the counter for customers' own jars.
- Fine when you sell loose amounts, at a counter or online, and one price per step is what you want.
- Where it breaks: every step costs the same, so a bigger amount is not cheaper per gram unless you set up a discount for it. You can't list a 250 g bag and a 1 kg bag as sizes with their own prices without going back to separate counts, and a cart that says 25 × 10 g reads oddly to a customer who wanted a bag.
4. A pool-based app
A pool-based app keeps each container as one amount, in ml or grams, and sets every size's stock in Shopify from it. Each order takes size × quantity from the pool, and then every size is worked out again, not only the one that sold. It is the spreadsheet with the copying done for you, after every order, refund and cancellation, day and night.
Carboy works this way. You make one pool per bottle, bag or drum. It reads each size from the variant name, so Sample / 2ml, 250g bag and 12 oz all work, and converts units inside a pool: ml, l and fl oz for volume, g, kg, oz and lb for weight. A 1 kg sale takes 1 kg from the 2 kg pool, and Shopify then shows 250 g × 4, 500 g × 2 and 1 kg × 1. Hand edits in Shopify are held for you to settle, and a nightly check picks up any order Shopify failed to send.
- Fine when you have more than a handful of containers, orders come in around the clock, or sizes mix units like ounces and grams.
- Where it breaks: past the free tier it is a monthly cost. Carboy is free for one pool, $12 a month for up to 25 and $29 a month for unlimited, billed by Shopify. It is only as right as the amount you start with, so you still measure or weigh a container now and then.
- What it doesn't cover: each variant draws from one pool, so a sampler that takes 10 g from five teas isn't taken from five pools. A pool keeps its counts at one stock location. A custom sale with no variant can't be seen.
Other inventory apps link several listings to one count. They fit well when every sale takes one unit. When sizes take different amounts, check whether the app lets you set how much each variant uses, how it rounds, and what it does on a refund.
What to test, whichever you choose
Run these on one product before you trust any method with your whole catalog, an app included.
- Every size moves. Sell the biggest size and check that the smallest size's count drops too.
- Size × quantity. An order for three 5 ml should take 15 ml, not 5.
- Refunds and cancellations. Restock a refund and check that the amount goes back to the container, and that a refund without restock leaves it alone.
- Hand edits. Change one size's count in Shopify by hand and see what happens next: is it kept, written over, or asked about?
- A reserve. Check that you can hold back an amount for spills and testing that never goes on sale.
- Nights and weekends. Let orders come in while nobody is at the bench, and check the counts the next morning.
Which one to choose
Start with what you have. A handful of containers and a few orders a day are fine by hand or in a spreadsheet, as long as you count after every batch. If you already run bundles and every size is a whole number of one unit, the bundle workaround can carry a short list. Once the counts slip between updates, or sizes mix ounces and grams, a pool-based app takes the arithmetic off your hands.
For setup in detail, read How to track decant inventory for anything poured from a bottle, and Shopify inventory for bulk products for spices, coffee and refills.
Try a pool on your best seller. One pool is free, with every feature.