Size × colour: stop creating a thousand SKUs
Manage a garment style once and let sizes and colours sit under it as a matrix. How to set up size-colour stock, buy by size curve, and report by style.
Do not create a separate item for every size and colour. Create one style, and let its sizes and colours sit under it as a matrix of variants — so a shirt in five sizes and four colours is one item with twenty variants, not twenty items. You buy, count, and report at style level, and stock stays exact at variant level.
Why is one SKU per size and colour a mistake?
Because it destroys the only view you actually use. When "Blue Shirt M" and "Blue Shirt L" are separate items, nothing in your system knows they are the same shirt. You cannot see how the style is selling, only how twenty unrelated rows are selling.
The damage is practical. Purchase orders get typed twenty times. A price change gets made twenty times, and the nineteenth gets missed. Your slow-mover report lists sizes, not styles, so it tells you nothing you can act on.
What is a size × colour matrix?
A style is the thing you buy and merchandise — the shirt. A variant is the exact thing you sell and count — that shirt in blue, size M. A matrix simply arranges the variants as a grid: colours down one side, sizes across the top.
| Style: Oxford Shirt | S | M | L | XL |
|---|---|---|---|---|
| White | 4 | 12 | 10 | 3 |
| Blue | 2 | 9 | 8 | 5 |
| Black | 0 | 6 | 7 | 2 |
One grid answers both questions at once. On hand for the style is the total. On hand for the thing on the hanger is one cell. Notice that White S is nearly out and Black S is gone — a flat item list would have buried that among sixty rows.
How do I set this up without a week of data entry?
Define your value lists once, then generate. The order that works:
- Fix your size sets. Decide the sets you actually use — S/M/L/XL, numeric 28–40, kids' age bands — and name them consistently. "L" and "Large" as two values will haunt you.
- Fix your colour list. Use the name you tell a customer, not the mill's shade code. Keep it short.
- Create the style once with its category, tax rate, and HSN code.
- Generate the grid from the size set and the colours that style comes in, and delete the combinations you do not stock.
- Set barcodes at variant level. The scan must identify the cell, not the style, or your count will never tie out.
In KillStock the apparel pack does exactly this: a style carries its size-by-colour variant matrix, so stock, sales, and transfers stay organised the way you merchandise. See the apparel pack for what else it adds.
How do I order by size curve instead of flat quantities?
Order to the ratio your customers actually buy. Flat ordering — ten of every size — is why you are left with XS and XXL in January.
Work out last season's sell-through per size for that category, express it as a curve, and apply the curve to the quantity you want. Worked example: you are buying 100 pieces of a shirt, and last season's mix was S 15%, M 30%, L 30%, XL 20%, XXL 5%. Your order is 15 / 30 / 30 / 20 / 5 — not 20 of each.
Do this per category, not per style. Formal trousers and casual tees rarely share a curve, and neither does one city with another. A size-curve order pad turns the curve you set straight into a purchase order, so the ratio survives the trip from plan to supplier.
What reports actually work at style level?
Three, and each answers a buying decision.
- Sell-through by style. Sold ÷ (sold + on hand) since the style arrived. This is the number that decides markdown timing, not gut feel.
- Broken sizes. Styles where the core sizes — usually M and L — are out but the ends are full. A style with no M is effectively dead even if the total on-hand looks healthy.
- Ageing by style. How long the stock has been sitting, so you act before the season closes rather than after.
KillStock's markdown report flags styles whose season is closing with low sell-through, and accepting them writes the new prices to a Clearance price list in one step. It reads at style level, so treat broken sizes as a separate check on the matrix.
When should I still use separate items?
When the things genuinely are different products, not variants of one. Two shirts with different fabric compositions, different tax treatment, or different HSN codes are two styles, even if the sizes match.
The test is simple: would you ever put them on one purchase order line and one price? If no, they are separate styles. Use fabric, fit, or collection as the split — not size and not colour.
What about stock counts across a matrix?
Count by style, in the grid. Walking a rail and ticking cells is faster than hunting twenty item codes, and the grid makes a miscount obvious — a zero in a column that should be your best seller usually means the pieces are in the trial room, not sold.
Two habits keep counts honest. Count the same style in every location on the same day, so transfers in flight do not create phantom differences. And record the reason on any adjustment, so next month you can tell shrinkage apart from a counting error.
FAQ
How many variants can one style have?
As many as you genuinely stock, but keep the grid to combinations you actually buy. A five-size, four-colour style is twenty variants and stays readable. If you are heading past sixty cells, you probably have two styles wearing one name — split them by fit or fabric.
Do I need a separate barcode for every size and colour?
Yes. The barcode has to identify what leaves the shop, and that is the variant. A style-level barcode means the scan cannot tell blue M from black XL, so your on-hand will be right in total and wrong in every cell that matters.
Can I add a new colour mid-season?
Yes — add the colour to the existing style and generate only the new cells. Adding it as a new item is the mistake, because your sell-through and ageing for that style then split across two records and neither reads correctly.
How do I handle sizes that come in sets from the supplier?
Receive the set and record the pieces it contains against the matching cells, so on-hand stays at variant level. Keep the set as a purchasing convenience only. If you hold the set as a single stock item, you cannot answer whether you have an M.
If you sell garments, see what the apparel pack covers, or compare what is on each plan on our pricing page. For the wider fit questions before you buy, read our guide to choosing inventory software — and if you are still on a stock sheet, when the spreadsheet stops paying.