WMS for Apparel Brands: Size, Color, and Variant Tracking
In an apparel warehouse the unit that matters is the style-color-size combination, not the style: GS1 treats each one as a unique product with its own GTIN, so receiving, bins, picks and returns all have to work at that level. Prepacks add a second identity, because a prepack carries its own GTIN separate from the sizes inside it, and building or breaking one is a transaction the system has to record.
In an apparel warehouse, the thing you count, store, pick and return is not the style. It is one color of that style in one size. GS1, the standards body behind retail barcodes, puts it plainly: "Each style, colour and size variation is considered a unique product and is assigned a unique GTIN." A warehouse system that tracks apparel well works at that level everywhere, from the receiving dock to the returns bench.
That sounds obvious until a prepack order comes in, a picker grabs the medium sitting next to the large, or a return arrives without its ticket. This guide walks through each of those points on the floor.
Does every size and color need its own barcode?
Yes. The GS1 GTIN Management Standard states it as a rule (section 2.1), and GS1's own help pages give the example of a one-size T-shirt in three colors: that is three variations, and each needs its own GTIN. Add sizes and the count multiplies. A crew neck in four colors and six sizes is 24 items, not one.
GS1 US makes the same point from the fulfillment side. Its apparel e-commerce guideline says the GTIN "is traditionally analogous to STYLE/COLOR/SIZE variations. This is how product is tracked," and that items should be "identified with a GTIN and ticketed at each orderable/shipping quantity." The same guideline says the GTIN must be the same whether the unit ships to a store or to an online customer, so one item master has to serve both wholesale and direct orders.
One detail trips up teams building their own item files. GS1 US publishes color and size codes for EDI catalogs, but it states that those codes "are not part of the UPC." Size and color are attributes stored against the GTIN, not something you can read from the barcode digits. A system that tries to parse size from the number will be wrong.
Should a WMS track the parent style or separate SKUs?
Both, for different jobs. The style is a grouping used for reporting, buying and the product page. The variant, meaning one GTIN, is the unit that has a quantity, a bin and a pick. Stock never belongs to the style itself; a style's stock is only the sum of its variants.
Where this gets awkward is a fourth attribute. Shopify allows up to three options per product, and since October 2025 up to 2,048 variants per product for all merchants, raised from 100. The style is the product, so trousers sold by color, waist, inseam and fit need four options, and one has to be folded into another, usually waist and inseam as a single size such as "32x30." Whatever convention you choose, every sellable variant in the store must map to exactly one item in the warehouse system, or orders will arrive for items the warehouse cannot find. Shopify's developer changelog also warns that apps not using its supported GraphQL product APIs "may have a downgraded or broken experience," so test your store connector on your largest style before launch.
How do you build, receive and break prepacks?
A prepack is an assortment that a retail buyer orders as a single line item, often a size run such as one small, two mediums, two larges and one extra large. GS1 is specific about how it is identified:
- The prepack has its own GTIN. GS1 Canada's general merchandise guide says "a separate, unique GTIN is assigned to each orderable pre-pack," and that this GTIN "is not intended to be scanned at the retail point-of-sale."
- Every size inside keeps its own GTIN. The same guide says the items in an assortment carry their own GTIN separate from the one assigned to the assortment, "maintaining the one-to-one relationship between trade item colour, size and GTIN."
- A different size mix is a different item. The GTIN Management Standard says a change, addition or replacement of items in a predefined assortment requires a new GTIN.
- When you trade with retailers over EDI, the contents travel in the 832. GS1 US's EDI guideline says the links between packaging levels are sent in the 832 catalog's SLN segments.
Put those together and the same garments can have two identities in your building: the prepack GTIN a wholesale buyer orders, and the size GTINs a direct-to-consumer customer orders. Moving between them is a transaction. A warehouse may build prepacks from eaches to fill wholesale orders, or break factory-packed prepacks into eaches for direct orders. Either way, the system should take one identity out of stock and put the other in, at a known bin, in one recorded move.
Three rules follow:
- Define each prepack's contents in your item master before the first one is built or received. It is the same data you send retailers in the 832. Without it, there is nothing to build from or break into.
- Give each size run its own item record. A 1-2-2-1 run and a 1-2-3-2 run of the same style are different GTINs, so they are different items, not one item with a quantity field.
- Don't confuse prepacks with multipacks. GS1 Canada says a multipack "is not intended to be broken apart and sold as individual trade items." A three-pack of socks sold as a three-pack stays whole. A prepack's sizes stay individually identified, which is what makes breaking one possible.
Bulk eaches are simpler: scan the carton, or one unit and key the quantity, check it against the purchase order or advance ship notice line, and put it away. The warehouse keys on the GTIN, not the style number on the carton.
How do you stop pickers grabbing the wrong size?
Apparel invites wrong picks because neighboring items look almost identical. A medium and a large in the same color differ by a label. Order-picking research links pick errors to how the picking system is designed and run, and lists vision, complexity and memory demand among the human factors involved.
GS1 US connects this directly to labeling. Its e-commerce guideline warns that "failure to properly ticket will result in mis-picks," which "cause the wrong product to be sent to the consumer" and feed into returns. It also says most fulfillment steps are "driven by scanning the barcode that is visible and scannable from the outside of the polybag," and that this barcode should be a UPC-A, EAN-8 or EAN-13.
On the floor, that suggests a few habits:
- Confirm every pick by scanning the item as well as the bin. A bin scan proves where the picker stood; an item scan proves which size they took.
- Keep the barcode scannable from outside the bag, as the GS1 US guideline expects, and keep the size readable on the ticket. GS1 US's floor-ready guideline says special sizing, such as "14 W," should be shown next to the size.
- Think about what sits next to what. Our guide to warehouse slotting covers how to place items; for apparel, also look at whether near-identical variants sit side by side with no scan to catch a mix-up.
How do you get apparel returns back into sellable stock?
Returns are a bigger share of the work in apparel than in most categories. The National Retail Federation estimated in October 2025 that 19.3% of online sales across all of retail would be returned that year. For fashion specifically, a 2021 research paper on size and fit returns (Nestler et al., KDD '21) puts online fashion return rates at 25 to 40%, and names poor size and fit as the top reason. The NRF release also notes "bracketing," buying several versions with the plan to return some.
With bracketing, one order holds several sizes of the same style, and the return request may not name the one actually in the bag. Identify the return by scanning the item, not by trusting the order line. After that, the steps are the same as for any unit:
- Scan the GTIN on the garment or bag. If the ticket is missing, identify the variant from the sewn-in label and style, then re-ticket it before it goes anywhere; the GS1 US guideline expects a GTIN at every shipping quantity.
- Grade it, as resellable, needing rework, or not sellable.
- Put it away to a real bin and record the move, so it is pickable again.
The quicker that loop runs, the sooner the size that sold out comes back. Returns sitting in a holding area are stock you own but cannot sell, and if that area is not a location in the system, your counts will show those units as missing.
What should an apparel warehouse system do?
A short checklist, built from the points above:
- Hold stock at the GTIN level, grouped by style for reporting, never stored at style level.
- Map every sellable channel variant to exactly one warehouse item, including where a fourth attribute has been folded into size.
- Store each prepack's component list and record builds and breaks as a single move.
- Require an item scan at pick, and show size and color clearly on the pick screen.
- Identify returns by the item, not the order, and get them graded and binned quickly.
None of this is exotic. It is the general discipline of barcode scanning in the warehouse, applied to a product that comes in many sizes and colors that look nearly the same.
Frequently asked questions
Does every size and color of a garment need its own barcode?
Yes. The GS1 GTIN Management Standard says each style, colour and size variation is considered a unique product and is assigned a unique GTIN. A T-shirt in three colors and four sizes is twelve items, each with its own barcode. The color and size codes GS1 US publishes for EDI catalogs are not part of the UPC, so never try to read size out of the barcode digits.
What is a prepack in apparel, and how is it different from a multipack?
A prepack is a fixed assortment, often a size run, that a retail buyer orders as one line item. It gets its own GTIN, which is not meant to be scanned at the register, and every size inside keeps its own GTIN. Unlike a multipack, which GS1 Canada says is not intended to be broken apart, a prepack's sizes stay individually identified, so a warehouse can build or break one as a recorded step.
How many variants can one product have in Shopify?
Up to three options and 2,048 variants per product, according to Shopify's help center; the limit was raised from 100 for all merchants in October 2025. Shopify's developer changelog warns that apps not on its supported GraphQL product APIs may have a downgraded or broken experience, so check the connector between your store and your warehouse system before you build a style with hundreds of variants.
Run your warehouse without losing a single unit.
Binlogic is the warehouse management system for brands and retailers who run their own fulfillment. Receive, count, pick, pack and ship, with every move scanned. See it in a 30-minute demo.
Get a demo