
One style in 6 colors and 7 sizes is 42 SKUs. AIMS360 stores the style, color, size matrix natively, so orders, availability, allocation, warehouse, EDI and Shopify all read one grid and one stock record.
A generic inventory system counts things. An apparel system has to count things that come in a grid: one style, six colors, seven sizes, and suddenly one product is 42 SKUs with 42 barcodes, 42 stock levels and 42 chances to oversell. AIMS360 was built on the style, color, size matrix from the start, so the grid is how you buy, see, allocate, pick and sell, not a report you assemble afterward.
AIMS360 stores every product as a style with a color and size matrix underneath it, and every unit of inventory lives at the intersection: this style, this color, this size, in this warehouse. You choose the level you work at, style, color, or size, in ordering, picking, invoicing and reporting, while a typical generic system shows only the flat SKU list. Availability is answered at the SKU level, allocation respects size runs, the warehouse picks by UPC, and EDI, Shopify and wholesale all read the same matrix. One stock record, three dimensions, no re-keying between systems that disagree.
That is the whole page in one paragraph. The rest explains why the matrix is the actual dividing line between apparel inventory software and generic inventory software, and what it looks like when the grid runs your operation instead of your spreadsheets.
Style, color, size inventory, also called a fashion matrix, color-size matrix or SKU matrix, is the way apparel, footwear and accessories brands track product variants in a grid: the style is the parent, and each color and size combination underneath it is a distinct sellable unit with its own SKU and its own barcode. Picture a table with sizes across the top and colors down the side. Every cell is something a customer can buy, and every cell has its own inventory count.
Systems handle this two ways. Apparel-native platforms store the parent-child relationship, so the style knows its variants and the variants know their style. Generic inventory tools store each color and size combination as an unrelated flat product, which technically works and practically fails: nothing connects Style 4402 in Black size Medium to the 41 other cells of the same style, so every question a merchandiser actually asks, how is this style selling, which sizes are broken, what should we cut or chase, requires rebuilding the grid by hand.
Two things make the matrix non-negotiable rather than a nice-to-have. First, barcodes: under GS1's GTIN management rules, every size and color variant requires its own GTIN, the number behind the UPC on the ticket. Second, retail infrastructure assumes it: the standardized color and size codes that flow through retailer EDI, maintained for decades by the National Retail Federation, moved to GS1 US in 2020, and your buyers' purchase orders arrive written in them, one line per UPC.
Defining all of this, the size scales, the two-dimensional sizing, the color codes and the UPC behind every cell, is product information work, and it has its own page: size matrix and dimensions. This page is about what happens after the definition exists: counting, promising, allocating and shipping against it.
Here is the part most systems get wrong. Storing 42 SKUs is easy. Letting different people work the same inventory at different levels is the hard part, and it is the part that makes the matrix useful.
A typical generic inventory or warehouse system gives you one view: the flat SKU list. Every question gets answered at the bottom of the hierarchy, whether or not that is where the question lives. AIMS360 lets you choose the level, per screen and per document, because different jobs genuinely think at different altitudes:
| Level | Who thinks here | The question it answers |
|---|---|---|
| Style | Owners, sales leadership, planners | How is style 4402 doing this season? One number, rolled up across every color and size. |
| Style + color | Merchandisers, buyers, reps | Is Black outselling Navy? Should we cut Rose or chase it? Six numbers, one per colorway. |
| Style + color + size | Warehouse, EDI, allocation, ecommerce | Exactly which cells ship, pick, invoice and sync. The full 42, each with its own UPC. |
And the level follows you through the work, not just the reports. Order entry can take a style total and spread it on a curve, or take exact size quantities. Picking runs at the UPC level while the sales manager watching the same order sees it as one style line. Invoicing details every SKU for an EDI retailer and summarizes by style for a boutique. Reporting rolls up or drills down without exports. Same record underneath, different altitude on top, chosen by you.
The reason apparel breaks generic tools is multiplication. Styles times colors times sizes, every season, every drop.
| What you designed | The multiplication | What your systems must track |
|---|---|---|
| One tee | 1 style × 6 colors × 7 sizes | 42 SKUs, 42 UPCs, 42 stock levels |
| One seasonal line | 24 styles × 6 colors × 7 sizes | 1,008 SKUs |
| A year, four drops | 4 × 1,008, plus carryover basics | 4,000 to 5,000+ active SKUs |
| Add extended sizing | 7 sizes becomes 10 or 12 | The whole book grows 40 to 70 percent overnight |
Now run that math against everywhere inventory is spoken about: the purchase order to your factory, the receiving dock, the availability question from a rep on the road, the retailer's EDI purchase order, your Shopify listings, the pick ticket, the ASN, the invoice, the sell-through report. A brand with 1,000 active SKUs does not have one inventory problem. It has 1,000 of them, nine times over, and the only question is whether software is doing that bookkeeping or people are.
Size does not always mean small, medium, large. Every consumer product category has its own version of the grid, and the axes change while the problem stays identical: one design, many sellable variants, each needing its own UPC, stock level and availability answer.
| Category | The grid axes | One product becomes | What makes it tricky |
|---|---|---|---|
| Apparel | Color × alpha or numeric size | 6 colors × 7 sizes = 42 SKUs | Curves shift by channel; extended sizing grows the book overnight. |
| Denim and pants | Wash × waist × inseam | 3 washes × 9 waists × 3 inseams = 81 SKUs | Size itself is two-dimensional. A 32x32 and a 32x34 are different SKUs, and the inseam curve is its own forecast. |
| Footwear | Colorway × size × width | 4 colorways × 17 half sizes × 2 widths = 136 SKUs | Half sizes from 5 to 13 make runs twice as long as apparel, widths multiply them again, and a broken run kills a wall display. |
| Suits and tailored | Color × chest size × length | 2 colors × 5 chests × 3 lengths = 30 SKUs | A 40R and a 40L are different SKUs, nested trouser drops ride along, and the short-regular-long curve shifts by market. |
| Swimwear | Print × size, tops and bottoms as separates | 4 prints × 5 sizes × 2 pieces = 40 SKUs | Separates double the matrix, shoppers mix a Medium top with a Large bottom, and the season is short enough that a broken run rarely gets a second chance. |
| Intimates | Color × band × cup | 3 colors × 5 bands × 5 cups = 75 SKUs | Band and cup sell as one size on the ticket but forecast as two dimensions, and sister sizing complicates substitution. |
| Beauty and cosmetics | Shade × fill size | 30 shades × 3 sizes = 90 SKUs | Shade is the color axis with higher stakes: shade-level stockouts break replenishment, and lot and expiration tracking ride on the same variants. |
| Jewelry | Metal × ring size or chain length | 3 metals × 9 ring sizes = 27 SKUs | High unit value means a size 7 sold out is real money idle in the size 4s. Resizing and made-to-order blur stock and production. |
| Hats, belts, bags | Color × fitted size, or color only | Fitted caps: 5 colors × 8 sizes = 40 SKUs. Bags: 5 colors = 5 SKUs | One-size categories collapse to style-color, which is exactly why the system should let the size axis be optional instead of forcing a fake one. |
Eight real matrices, one per category, with illustrative quantities. Every cell you see below is a distinct SKU with its own UPC, and in AIMS360 every cell is a live number your channels draw down in real time.
Style 4402 crew tee, one screen of the grid. 4 colors × 4 sizes = 16 SKUs.
| S | M | L | XL | |
|---|---|---|---|---|
| Black | 20 | 40 | 40 | 20 |
| Navy | 16 | 32 | 32 | 16 |
| White | 12 | 24 | 24 | 12 |
| Rose | 8 | 16 | 16 | 8 |
One jean in one wash. 4 waists × 3 inseams = 12 SKUs, and this whole grid repeats per wash.
| Inseam | W30 | W32 | W34 | W36 |
|---|---|---|---|---|
| 30" | 14 | 22 | 18 | 10 |
| 32" | 18 | 30 | 26 | 14 |
| 34" | 8 | 14 | 12 | 6 |
One sneaker in one colorway. 7 half sizes × 2 widths = 14 SKUs, before the other colorways.
| 8 | 8.5 | 9 | 9.5 | 10 | 10.5 | 11 | |
|---|---|---|---|---|---|---|---|
| Medium | 10 | 14 | 18 | 20 | 18 | 12 | 8 |
| Wide | 4 | 6 | 8 | 9 | 8 | 5 | 3 |
One charcoal suit jacket. 5 chests × 3 lengths = 15 SKUs, from 38S to 46L.
| 38 | 40 | 42 | 44 | 46 | |
|---|---|---|---|---|---|
| Short | 4 | 6 | 6 | 4 | 2 |
| Regular | 10 | 16 | 18 | 14 | 8 |
| Long | 4 | 8 | 10 | 8 | 5 |
One bikini in one print, sold as separates. 5 sizes × 2 pieces = 10 SKUs, and shoppers mix sizes across pieces.
| XS | S | M | L | XL | |
|---|---|---|---|---|---|
| Top | 10 | 18 | 22 | 16 | 8 |
| Bottom | 12 | 20 | 24 | 18 | 10 |
One bra in one color. 4 bands × 5 cups = 20 SKUs, and the ticket says 34C while the forecast thinks in two axes.
| Band | A | B | C | D | DD |
|---|---|---|---|---|---|
| 32 | 4 | 8 | 8 | 6 | 3 |
| 34 | 6 | 12 | 14 | 10 | 5 |
| 36 | 5 | 10 | 12 | 9 | 4 |
| 38 | 3 | 6 | 8 | 6 | 3 |
One foundation formula. 4 shades × 3 fill sizes = 12 SKUs, with lot and expiration tracking on every cell.
| Shade | 30ml | 50ml | 100ml |
|---|---|---|---|
| 110 Fair | 24 | 36 | 12 |
| 230 Beige | 40 | 60 | 20 |
| 340 Tan | 32 | 48 | 16 |
| 450 Deep | 18 | 28 | 10 |
One ring design. 3 metals × 5 sizes = 15 SKUs, each one real money sitting in a specific cell.
| 5 | 6 | 7 | 8 | 9 | |
|---|---|---|---|---|---|
| Yellow gold | 3 | 5 | 8 | 6 | 3 |
| Rose gold | 2 | 4 | 6 | 5 | 2 |
| Silver | 4 | 7 | 10 | 8 | 4 |
In AIMS360 the axes are configurable size scales on the style, so a shoe brand runs half sizes and widths, a tailored brand runs chests and lengths, a swim brand runs prints and separates, a beauty brand runs shades and fill sizes, and a jewelry brand runs metals and ring sizes, all on the same matrix machinery: grid entry, cell-level availability, run integrity in allocation, UPC-level picking and EDI. GS1's one GTIN per variant rule does not care whether the variant is a size 9.5 wide boot, a 42L jacket, a 50ml bottle in shade 230, or a size 7 ring in rose gold. Each one is its own barcode, and each one is its own cell.
The matrix is not just how apparel is stored. It is how apparel is bought, and three terms carry most of that work.
The ratio in which sizes actually sell, expressed as a distribution: a curve of 1-2-2-1 across S, M, L, XL means order 60 units as 10, 20, 20, 10. Get the curve wrong and you sell out of Medium in two weeks while Small goes to clearance. In AIMS360, size scales and curves are set on the style, so purchase orders, production orders and allocations inherit the ratio instead of someone re-deriving it in a sheet.
The full set of sizes a style comes in. A run is broken when middle sizes sell through and only the tails remain, and a broken run stops selling far faster than raw unit counts suggest. Seeing brokenness needs the grid: 40 units left means nothing until you know they are all XS and XXL.
A carton packed to a fixed size ratio, say 1-2-2-1, ordered and received as one unit but sold through as individual SKUs. Retailers order in prepacks constantly. Your system has to hold both truths at once: the pack as a purchasable unit, and the eaches inside it as sellable inventory. AIMS360 handles prepack definitions on the style, so receiving a pack lands the eaches in the right cells automatically.
Last season's sell-through by size, by channel, is the honest source of next season's curve, which is only knowable if this season was tracked at the size level to begin with. Brands that run the matrix compound that advantage every season. Brands that track at the style level guess every season from scratch.
Walk one style through a season and the grid shows up at every step. This is what apparel-native means in practice.
| Moment | What the matrix has to do |
|---|---|
| Product setup | Define the style once, attach the color range and the size scale, and let the system generate the SKUs and assign the UPCs, one per variant per GS1 rules, synced to retailer catalogs through the GXS OpenText catalog. |
| Buying and production | POs to factories written in the grid, in curves or prepacks, with work-in-progress visible by style, color and size so you know what is actually arriving, not just that something is. |
| Order entry | A rep keys a wholesale order on a size grid in seconds: style, color, quantities across the run. Availability answers at the cell level so the order is honest at entry, not discovered short at pick time. |
| Allocation | When demand exceeds stock, allocation rules decide who gets what, respecting size run integrity so no account receives a shipment of nothing but Smalls. |
| Warehouse | Pick tickets, cartons and GS1-128 labels at the UPC level, scanned as packed, so the 856 ASN says exactly which sizes and colors are in each carton, because it was built from the scan. |
| Retail EDI | The 850 purchase order arrives one line per UPC in standardized color and size codes, the 846 reports availability per variant, and the invoice matches, across 350+ retailer connections. |
| Ecommerce | Shopify variants map to the same SKUs, so the site sells from the same cells wholesale does and a sold-out size disappears instead of overselling. |
| Reporting | Sell-through by size and color, broken run alerts, and the data that writes next season's curves. The grid in, the grid out. |
Plenty of capable generic tools can store 1,008 products. The question is whether the system knows those products are 24 styles.
| Generic inventory tool | Apparel-native matrix (AIMS360) | |
|---|---|---|
| Data model | Each color and size combination is an unrelated product | Style is the parent; color and size cells inherit from it |
| Working level | One view: the flat SKU list | Style, color, or size level, chosen per screen and per document |
| Creating a style | Key 42 products by hand, or maintain an import sheet | Define style, colors and size scale once; SKUs and UPCs generate |
| Order entry | One line at a time, 42 searches | Size grid: one screen per style and color |
| Size curves and prepacks | Tracked outside the system, usually in Excel | On the style; POs and receipts inherit them |
| Broken run visibility | Export, pivot, hope | On screen, by style, as it happens |
| Retailer EDI | Middleware translates between flat SKUs and UPC-level documents | Native: the 850, 856, 810 and 846 speak the matrix directly |
| Season-over-season | History at product level, curves rebuilt by hand | Sell-through by size and color feeds next season's buys |
AIMS360 has run consumer brands on style, color, size for 40+ years, currently across 10,000+ brands with $45B+ in transactions processed. The matrix is not a module. It is the data model everything else stands on.
Styles, color ranges, size scales, curves, prepacks and UPCs live in product management once, and every downstream document inherits them. No re-keying, no drift between your line sheet and your inventory.
Available to sell is answered at the style, color, size level, net of every channel's commitments, and rolls up to color or style totals on demand, with virtual warehouses to segregate pools like off-price, samples or a dropship reserve.
Inventory and WMS scan at the variant level, so the carton, the GS1-128 label and the ASN agree because they are one record, whether you ship from your building or a 3PL.
Native EDI for 350+ retailers reads and writes at UPC level directly from the matrix. No middleware mapping flat SKUs to size grids, and no per document fees of AIMS360's own.
Wholesale, EDI retail, Shopify DTC and B2B all draw from the same cells. Selling a Medium anywhere means one fewer Medium everywhere, instantly.
Sell-through by size and color, brokenness, and curve performance by channel, feeding buys that get sharper every season instead of guessed every season.
It is tracking apparel inventory in three dimensions: the style as the parent product, and each color and size combination as its own SKU with its own barcode and stock level. The structure is usually pictured as a grid, sizes across the top and colors down the side, which is why it is also called a fashion matrix, color-size matrix or SKU matrix. Apparel-native systems like AIMS360 store this relationship directly; generic tools store each combination as an unrelated product.
One sellable variant: a specific style in a specific color and a specific size. Style 4402 in Black, size Medium is one SKU. The same style in Black, size Large is another. SKU codes are yours and internal; the UPC on the ticket is the standardized public equivalent, and in apparel they map one to one.
Styles times colors times sizes. One style in 6 colors and 7 sizes is 42 SKUs. A 24 style seasonal line at that spread is 1,008. A brand running four drops a year plus carryover basics commonly manages several thousand active SKUs, which is why the bookkeeping has to be systematic rather than heroic.
Yes. GS1's GTIN management rules require a distinct GTIN for each variant a shopper or trading partner needs to distinguish, and size and color are the canonical examples. Retailer purchase orders arrive one line per UPC, so a style in 42 variants needs 42 UPCs. AIMS360 generates and manages them from the style master and syncs them to retailer catalogs.
The standardized code tables American retail uses to describe colors and sizes in EDI documents and product catalogs, maintained for decades by the National Retail Federation and transitioned to GS1 US in 2020. When a buyer's 850 says color 001, size 32X32, those are the codes at work. AIMS360 carries them on the variant so documents translate without a human in the loop.
The ratio in which sizes sell, used to split a buy across the run: a 1-2-2-1 curve over S, M, L, XL turns 60 units into 10, 20, 20, 10. Curves differ by category, channel and even account, and the best source for next season's curve is this season's sell-through by size, which requires tracking at the size level in the first place.
A carton packed to a fixed size ratio and traded as a single unit: a retailer orders 20 prepacks of 1-2-2-1 rather than 120 loose units. Your system has to treat the pack as one thing on the order and as its component sizes in inventory. AIMS360 defines prepacks on the style, so ordering, receiving and allocating them keeps both views true at once.
A style where the middle of the run has sold through and mostly edge sizes remain. A rack of only XS and XXL barely sells, so 40 remaining units can be worth far less than 40 units suggests. Matrix reporting surfaces brokenness by style as it develops, which is what makes markdown and consolidation decisions timely instead of postmortem.
Because they model each color and size combination as an unrelated flat product. The data fits, but the relationships are gone: no grid order entry, no size curves, no run integrity in allocation, no sell-through by size, and EDI needs middleware to translate flat SKUs into the UPC-level documents retailers send. Every apparel-shaped question becomes a manual rebuild of structure the system threw away.
The style master defines the style, its colors, its size scale, curves and prepacks once. The system generates the SKUs and UPCs, and from then on every function reads the same matrix: grid order entry, cell-level availability, allocation with size run rules, UPC-level picking and GS1-128 labeling, native EDI for 350+ retailers, Shopify variant sync and size-level reporting. One stock record behind all of it.
Yes. Stock, availability and order entry present as the grid, sizes across, colors down, per style, which is how merchandisers actually think. The flat SKU-by-SKU view exists underneath for the warehouse and for integrations, but people work the grid.
Yes, and this is the point of the matrix. A typical generic inventory or warehouse system shows one flat SKU list, so every question is answered at the bottom of the hierarchy. AIMS360 shows the same inventory at the style, color, or size level depending on your preference, in ordering, picking, invoicing and reporting: one rolled-up number for the owner, per-color numbers for the merchandiser, and full SKU detail for the warehouse and EDI, all from one record.
Yes, and footwear is where it earns its keep. Half sizes from 5 to 13 already double the run length of apparel, widths multiply it again, so one colorway of one shoe is routinely 15 to 30 SKUs. AIMS360 treats size and width as a configurable size scale on the style, so grid entry, size curves, run integrity in allocation and UPC-level picking work the same way they do for a tee, just across a longer run.
Yes. The axes are configurable, not hardcoded to garment sizes: a beauty brand runs shade by fill size, so 30 shades in three bottle sizes is 90 SKUs on one product; a jewelry brand runs metal by ring size or chain length; a denim brand runs wash by waist by inseam; and one-size goods like handbags simply collapse to style and color. GS1's one GTIN per variant rule applies in every category, and AIMS360 generates and manages the UPC for every cell either way.
Yes. Every cell of the matrix exists per location, including 3PLs mapped as real locations and virtual warehouses used to fence off pools like off-price commitments, samples or damage. Availability questions answer net of location and commitment, so a yes to one channel is never a silent oversell of another.
Shopify tracks variants well for the store it runs. It does not know about your wholesale commitments, retailer EDI, production in transit, size curves or allocation. AIMS360 is the operating record across all channels, and Shopify variants sync to the same style, color, size cells, so DTC sells from the truth instead of from a copy.
The honest answer: by getting the data model right first. An ERP that stores the style, color, size matrix natively turns growth into multiplication the software absorbs, more styles, more colors, deeper runs, more channels on the same record. An ERP that stores flat SKUs turns the same growth into spreadsheet work that scales with headcount. Our guide to fashion inventory management covers the full playbook.
Last reviewed 8 August 2026 by the AIMS360 product team. Definitions of the fashion matrix, size curves, size runs and prepacks reflect standard apparel merchandising usage. The one GTIN per size and color variant rule is from GS1's GTIN Management Standard, and the standardized retail color and size code tables formerly maintained by the National Retail Federation transitioned to GS1 US in 2020. Company figures, 40+ years, 10,000+ brands, 350+ EDI retailer connections and $45B+ processed, are AIMS360's published numbers. SKU counts and all quantities shown in the example matrices, including the footwear, suits, swimwear, beauty and jewelry grids, are arithmetic illustrations, not customer data. Statements about generic inventory tools describe typical flat-SKU behavior, not any specific product.
Bring one style, its colors and its size scale to a demo, and we will show you the grid running order entry, availability, allocation and EDI from a single stock record.