Skip links
Table of Contents
    ERPNext Apparel Size and Color Variants_ Setup Guide

    Managing Multiple Sizes, Colors and Variants in ERPNext for Apparel Manufacturers

    A men’s polo shirt in one style, six colors, and five sizes isn’t one product. It’s thirty distinct variants, each with its own fabric consumption, its own stock count, and, if you’re not careful, its own maintenance headache.

    ERPNext manages apparel size and color variants by treating each style as an item template with size and color set as variant attributes, automatically generating every size/color combination as its own trackable item — with its own stock and costing — without manual duplicate entry.

    That’s the mechanism. The harder part, the part that actually determines whether your setup holds up as your catalog grows, is the handful of decisions apparel manufacturers have to get right around it: how fabric consumption changes by size, how buyers actually order (in runs, not single SKUs), and when a variant should be retired instead of quietly piling up as dead stock.

    How ERPNext Handles Apparel Size and Color Variants

    In ERPNext, you create one item template — say, “Men’s Polo Shirt – Style ABC” — and attach item attributes to it, most commonly Size and Color. ERPNext then generates an item variant for every combination: Small/Navy, Small/White, Medium/Navy, and so on. Each variant carries its own item code, its own stock ledger, and its own valuation, but inherits the template’s core item settings so you’re not re-entering UOM, item group, or tax details thirty times over.

    This is the right foundation, and it’s the same mechanism the official Frappe documentation walks through. Where apparel manufacturers run into trouble isn’t the setup screen. It’s the assumption that every variant should behave identically once created — it shouldn’t, and the next two sections cover where that assumption breaks.

    The Fabric Consumption Problem: One BOM Doesn't Mean One Number

    A Small and an XXL of the same shirt don’t use the same amount of fabric, and a bill of materials that ignores this either overstates consumption on small sizes or understates it on large ones — both of which quietly distort your costing and your material planning over a production run.

    ERPNext’s approach is to attach the BOM to the item template rather than rewriting it per variant, and use a quantity multiplier per variant (via a UOM conversion or variant-level BOM quantity) so the base recipe scales instead of being duplicated. In practice, this means:

    You define fabric, trim, and thread consumption once at the template or base-size level.

    Each variant's actual requirement is derived by scaling that base figure, not by maintaining thirty parallel BOMs that all need updating if a supplier changes a fabric width.

    When a work order is raised against a specific size/color variant, ERPNext calculates material requirements using that variant's scaled consumption, so your material request and your actual cutting-room usage stay aligned.

    The mistake we see most often isn’t a wrong number. It’s treating each variant as needing its own fully separate BOM from day one. That approach works for the first ten variants and becomes unmanageable by the fiftieth, because every fabric substitution or costing correction now needs to be repeated across every size instead of adjusted once at the template level.

    Matrix Order Entry: Buyers Think in Size-Runs, Not SKUs

    Retail and wholesale buyers in apparel rarely order “10 units of Small/Navy.” They order a size run — say, 2 Small, 4 Medium, 4 Large, 2 XL of Navy — as a single buying decision. If your sales order screen forces a line item per individual SKU, order entry turns into a slow, error-prone exercise for exactly the transactions that should be fastest.

    ERPNext addresses this through its variant matrix (sometimes called a size-color matrix) on the sales order and quotation screens: instead of picking individual item codes, the person entering the order sees a grid of sizes across the top and colors down the side, and fills in quantities directly into the matrix. ERPNext expands that into the correct individual variant line items behind the scenes.

    This matters more than it sounds like on paper. A sales or customer service team keying in orders all day benefits enormously from not having to search and select thirty individual item codes to place one buyer’s order, and the accuracy gain from fewer wrong-size line items shipped compounds across a season’s worth of orders.

    A quick note if this is the piece that’s currently frustrating your team mid-implementation: it’s usually a configuration gap, not a limitation of the platform, and worth a look before assuming you’ll need a workaround. See how we approached this for a textile manufacturer’s full supply chain rebuild.

    Subcontracted Processes and Variant-Level Tracking

    Apparel manufacturing routinely sends specific variants out for embroidery, printing, or specialized washing, often only certain colors or sizes in a style, not the whole run. ERPNext’s subcontracting functionality lets you issue raw materials or semi-finished goods to a subcontractor against a specific variant, track what’s out with them, and receive finished goods back into stock at that same variant level.

    The operational detail worth planning for upfront: if only some colors of a style go for embroidery while others don’t, your subcontracting transactions need to reference the correct variant-level item code, not the template. Get this wrong early and you end up with stock sitting “in transit” against the wrong variant, which is a reconciliation problem months later, not a same-day fix.

    When to Retire a Variant (and Why "Just Deactivate It" Isn't Enough)

    Every season, some color-size combinations stop selling and need to come out of active circulation. The tempting shortcut is to mark the variant inactive and move on. Two things usually go wrong when that’s the only step taken:

    Open sales orders or reorder rules still reference the variant

    If a reorder level or a recurring sales order line still points at a deactivated variant, you get either blocked transactions or, worse, silent stock requests for something you no longer intend to produce.

    Historical costing and reporting get harder to read

    A catalog with hundreds of long-dead variants mixed in with active ones makes item-group reports and stock valuation summaries noisier than they need to be, and makes it harder to spot genuinely slow-moving current stock.

    A cleaner approach: deactivate the variant, close out any open transactions referencing it, and periodically archive (rather than delete) genuinely dead variants out of your default item views. ERPNext doesn’t do this automatically — it’s a process discipline question, not a settings toggle. It’s also one of the more common gaps we find when auditing an existing setup that’s been running for a couple of seasons without this kind of periodic cleanup.

    Common Setup Mistakes Worth Avoiding From the Start

    Treating every product attribute as a variant attribute

    Fit type, fabric weight, or finish sometimes belong as separate item templates rather than additional variant attributes, especially if they change the BOM structure rather than just scaling it.

    Skipping the quantity-multiplier setup and duplicating BOMs per size instead

    This works initially and becomes a maintenance burden as your size range or style count grows.

    Not planning the sales order matrix view before go-live

    Teams that only discover the matrix entry option after months of line-by-line order entry lose real time they didn't need to lose.

    No variant retirement process

    Left unaddressed, this is usually the single biggest source of "why does our item list look like this" complaints a couple of seasons in.

    Frequently Asked Questions

    Yes. ERPNext generates a variant for every combination of the attributes you define on the template, with no hard cap tied to the variant feature itself. Practical limits come from how many combinations make sense for your business to actually stock and track, not from the software.

    Yes. ERPNext generates a variant for every combination of the attributes you define on the template, with no hard cap tied to the variant feature itself. Practical limits come from how many combinations make sense for your business to actually stock and track, not from the software.

    The core item template, attribute, and variant functionality is standard ERPNext — no custom development is required to set up size and color variants. Matrix-style order entry and BOM quantity scaling are also standard features, though how they're configured for your specific size range and attribute structure benefits from experienced setup.
    Through a base BOM at the template level combined with a quantity multiplier or UOM conversion per variant, so consumption scales with size rather than requiring a fully separate bill of materials for every size.
    Deactivating a variant doesn't erase historical transactions against it — past sales orders, invoices, and stock ledger entries remain intact. The main things to check before deactivating are open transactions and reorder rules still referencing that variant.
    It depends on whether the difference changes the BOM structure. If it only affects sizing math, like a standard size range, it usually works well as a variant attribute. If it changes the actual materials or construction, like a different fabric weight requiring a different consumption model entirely, a separate item template is usually cleaner than forcing it into the variant matrix.

    If your size and color matrix has outgrown a spreadsheet-thinking approach to ERPNext and you want a second opinion on whether your current setup, or a fresh one, is structured to scale with your catalog, book a free ERPNext consultation and walk us through your specific style, size, and color structure.

    Niraj Gohel
    Meet Niraj Gohel, the “Problem Solver”, and occasionally the problem creator at Aavatto. When he’s not traveling, watching a film, or having a cup of tea, he spends his days solving problems, debating ideas, and occasionally distracting the team with completely unrelated conversations. His philosophy is simple: technology is important, but being a good human is more important.
    gohel-niraj
    This can be a new journey !

    Related Posts

    Have a Project in Mind?

    This can be a new journey !

    leaf