How to manage sizes and colors in your catalog without losing stock control
July 25, 2026
To manage sizes and colors without losing stock control, the key is to stop treating each size-color as a loose product and instead model them as variants of a single parent product, where every combination (say, a black T-shirt in size M) has its own SKU, its own EAN, and its own inventory. That way stock isn’t tracked “per product” in the abstract, but per exact combination, and every channel you sell on offers exactly what actually exists of that size in that color. That’s the short answer; the rest of this article is how to set it up properly.
You know the pain if you sell apparel, footwear, or anything with variations. You have one SPORTIFY T-shirt that exists in five sizes and four colors: that’s twenty distinct real products, even though in your head it’s “one T-shirt.” And you publish that same block of twenty on Amazon, on MercadoLibre, and in your Shopify store, each with its own way of handling variations. The typical outcome is that you oversell the black size M while the blue XL piles up, because somewhere a number was wrong, or because one channel kept offering sizes that had already run out on another.
The root cause isn’t carelessness. It’s that your size and color information is split into pieces that don’t fit together: one dashboard per marketplace, an Excel sheet where you try to reconcile the total, and a memory of yours you no longer fully trust. When each combination’s stock is tracked by hand, error isn’t a possibility, it’s a matter of time. Modeling variants well and syncing them in real time is what turns that chaos into something you can read at a glance.
a combination isn’t a loose option: it’s a real product
The first mental shift is the most important. A black T-shirt in size M isn’t “an option” of your T-shirt: it’s a distinct real product, with its own box in the warehouse, its own piece count, and its own sales pace. The black S might fly off the shelf while the black XXL sits for months, even though they share a color, a photo, and almost the whole title.
When you treat the whole family as a single block of inventory —“I have 200 black T-shirts”— you lose the only figure that helps you decide: how many you have of each combination. Two hundred black T-shirts don’t tell you whether you can promise an M to a customer who wants it today. That’s why stock is never tracked by family; it’s tracked by exact size-color combination, and each combination needs its own stable identifier.
Glossary: the EAN and GTIN are the product’s standard barcodes; every size-color combination should have its own, because that’s what lets you tell it apart and link it correctly across marketplaces.parent and child products: the structure that orders everything
The clean way to manage sizes and colors is a two-level hierarchy. At the top sits the parent product, which groups and gives context: the SPORTIFY T-shirt as a concept, with its description, its category, and its commercial history. Below sit the children, which are the real size-color combinations, and they’re the ones that move inventory. The parent holds no stock; stock always lives in the children.
This separation resolves the tension you feel when you try to manage variants by hand. If you treat everything as one product, you oversell; if you treat each combination as something disconnected, you lose the picture of the whole product and can’t analyze “how the T-shirt is doing” as a whole. The hierarchy gives you both: the real availability per combination so you don’t oversell, and the aggregate view per parent to analyze and restock. We develop this structure in depth in the pillar article on parent and child products, because it’s the foundation of everything else.
One practical detail: each channel names this hierarchy differently. Amazon talks about a parent product and variations under a single ASIN. MercadoLibre calls them variations within a listing. Shopify uses a product with variants and options. They’re the same idea with different names, and that’s where the next problem begins.
the same variant block, three different marketplaces
This is where the multichannel seller really suffers. Your parent T-shirt with its twenty children exists three times: as variations under an ASIN on Amazon, as variations of a listing on MercadoLibre, and as variants of a product on Shopify. Each platform has its own structure, its own rules about which options it accepts, and its own ID for each combination.
The glue work consists of keeping those three blocks saying the same thing. When the black M runs out, all three have to stop offering it at nearly the same moment. When new stock of the blue XL arrives, all three have to find out. Doing this by hand means opening three tabs, finding the right combination in each one —which is already slow when you have twenty children per product and fifty products— and adjusting each number separately, praying you don’t pick the wrong size.
A unified catalog flips the relationship: instead of you carrying the numbers to each channel, there’s a real product at the center with its children, and each listing on each marketplace hangs off the combination it corresponds to. The link leans on the external identifier, cross-checked with your internal SKU and the specific variation, so you don’t accidentally join the black M of one channel with the blue M of another.
Glossary: the unified catalog is the model where a physical product —and each of its size-color combinations— is the central entity, and every marketplace listing is just a representation that points to the correct variant.real availability, calculated per combination
With variants properly modeled and linked, stock is calculated once per combination and synced out to all three channels. The number that matters isn’t “how many black T-shirts do I have,” but the real availability of the black M: what you can actually promise right now of that size in that color, subtracting what’s already committed on Amazon, MercadoLibre, and Shopify, plus what’s set aside for pending shipments.
That number is a single one for each combination, even though it’s expressed across three listings. When a black M sale comes in on any channel, the real availability of that combination drops and the other two channels find out, instead of going on offering as if nothing happened. That’s where the overselling disappears —the kind that forced you to cancel orders and scratch your reputation over a size you no longer had.
Glossary: the real availability of a combination is the inventory of that size-color you can sell right now, once you subtract what’s committed across all channels, not the sum of what each listing displays.why the sizes spreadsheet always falls short
When you manage variants in a spreadsheet, each combination is a row and each channel a column, and very soon you have a matrix of hundreds of cells you’d have to update every time a sale comes in, stock arrives, or you change a price anywhere. It’s a snapshot of a moment that has already passed. By Tuesday it’s no longer true, but you place a faith in it that it hasn’t earned, and you decide with it until a customer complains about a sold-out size.
The problem isn’t that the spreadsheet is badly made; it’s that the reality of sizes and colors moves faster than a human can capture. Multiply twenty children by three channels by each move of the day and you’ll see why the manual glue always ends up broken somewhere. Real-time inventory does that work for you: every event from every channel reports to the central product, and you read a single already-reconciled source per combination, with no copy-pasting.
from the per-combination view to smart restocking
Once you track stock per combination in real time, you gain something the spreadsheet never gave you: you know exactly which size in which color sells and which one stalls. That information is gold for restocking. You stop buying “black T-shirts” in bulk and start restocking the black M and S, which fly, without inflating the inventory of the XXL nobody asks for again.
That fine-grained per-combination read is precisely the basis for making purchasing decisions with your head; we develop it in how to restock sizes and colors based on what actually sells. The idea is simple but only works if the data is clean: you can’t restock well what you never measured well. Modeling variants as real products, linking them across channels, and syncing their real availability is what makes that data exist.
what the work looks like when variants are under control
The practical change isn’t that you see more data, but that you see fewer screens. Instead of sweeping Seller Central, the MercadoLibre listing, and your Shopify admin to piece together the story of one size, you open the parent product and there are its children, each with its real availability, its linked listings on each channel, and its low-stock alerts. When you correct an identifier or adjust the price of a combination, you do it on the variant and it propagates, instead of repeating the change three times and forgetting the third.
Managing sizes and colors well isn’t a project that ends; it’s a way of working that keeps each combination as a real product at the center and lets the channels be what they are: many storefronts of the same variant block. When that structure is properly built —parent and children, each child with its EAN, its real availability, and its linked listings— uncertainty drops on its own. You stop discovering the black M ran out after you already sold three you didn’t have, and you start deciding with today’s sizes, not yesterday’s.