Inventory

WMS (Warehouse Management System)

A warehouse management system (WMS) controls the physical movement and storage of stock inside a warehouse: where each item is located, how it is put away, how it is picked, and how it is counted. In textiles it has to work at roll and lot level rather than SKU level, because two rolls of the same fabric with different dye lots are not interchangeable stock.

An ERP's inventory module answers a quantity question: how many metres of navy jersey do we own, and what are they worth? A WMS answers a location question: where exactly is it, which specific rolls are they, and in what order should they be picked? Both are inventory, and confusing them is why factories buy a WMS they did not need or fail to buy one they did.

The distinction is that the ERP holds inventory as a balance and a value, while the WMS holds it as a set of physical objects in specific places with a movement history. In most industries you can run a small warehouse without the second view. In textiles you usually cannot, and the reason is the [dye lot](/glossary/dye-lot).

Why SKU-level stock is not enough

Suppose your ERP tells you there are 4,000 metres of navy jersey in stock and you have an order needing 3,600. In a normal warehouse that is a solved problem. In a fabric store it is not a number you can act on, because those 4,000 metres are twelve rolls, and those twelve rolls may come from three different dye lots. Cutting a single garment order across three lots invites a shade rejection.

So the operative stock question in a textile warehouse is never "how much do we have" but "how much do we have *of one lot, in one shade band, in rolls long enough to lay*". Only a system that holds inventory at [roll](/glossary/fabric-roll) level, with lot, shade, width, length and location on each roll, can answer that. A WMS that stores fabric as a quantity against a SKU is, for cutting-room purposes, storing nothing.

AttributeHeld at SKU levelMust be held at roll level
Item code, descriptionYes
Total quantityYes
Standard costYes
Dye lotNoYes
Shade band / readingsNoYes
Actual [GSM](/glossary/gsm-fabric)NoYes
Actual width and lengthNoYes
[4-point](/glossary/4-point-inspection) gradeNoYes
Bin locationNoYes

FIFO does not survive contact with a dye lot

Standard warehouse practice is first in, first out: pick the oldest stock so nothing ages out. In a fabric warehouse, FIFO and lot integrity are in direct conflict, and lot integrity almost always wins.

If the oldest roll of navy is from lot A and the order needs 3,600 metres but lot A has only 900 left, strict FIFO issues the lot A roll and then reaches into lot B for the rest — producing exactly the mixed-lot cut that the whole system exists to prevent. The correct policy is FIFO *within* a lot, with lot selection driven by whether a single lot can cover the requirement, and only then by age.

This has a real cost: lot remnants. Once you commit to lot integrity, you accumulate short pieces of lots that are too small to cover an order and cannot be mixed into one. Managing that residue — allocating it to sampling, to smaller orders, to buyers with a wider shade tolerance, or writing it off — is one of the genuine ongoing costs of shade discipline, and a warehouse system that cannot even see the remnants cannot manage them.

Picking for a cutting lay is not order picking

In a distribution warehouse, picking means walking a list and collecting items. In a fabric store, issuing to cutting means selecting a set of rolls that jointly satisfy a lay: enough total length, all within one lot or one shade band, of compatible width, and with roll lengths that suit the lay length so that end pieces are minimised.

That is an allocation problem, not a picking problem, and its output changes what the cutting room can do. A poor roll selection produces excess end bits — remnants too short to lay — which are pure waste against the fabric consumption the [BOM](/glossary/bom) assumed. This is one of the clearest places where warehouse software either understands textiles or does not.

Finished goods: cartons, size ratios and packing

The finished-goods side of a garment warehouse has a different structure. Stock is garments in cartons, and a carton is usually not a single SKU — it is a size-ratio assortment, a pre-pack specified by the buyer (for example a solid-colour carton with a 1-2-2-1 ratio across four sizes).

A WMS handling finished garments therefore needs to hold stock at the carton level with its ratio content, generate the packing list and carton labels the buyer's own systems will scan on receipt, and support shipment marks and carton numbering that match the buyer's manual. Getting the carton label wrong is a surprisingly common cause of a shipment being refused at the receiving end — the goods are fine, the label is not scannable, and the container waits.

Do you need a separate WMS?

For most textile mills and garment factories, a separate WMS is a second system solving a problem the ERP should already be solving. The stock, the lots, the allocation rules and the costing all live in the ERP; a bolt-on WMS means duplicating the item master, the lot master and the allocation logic, and then reconciling two stock balances that will diverge.

A separate WMS earns its place when the warehouse operation is genuinely large and independent — a distribution centre with many pick faces, automation, or third-party logistics operations — or where an immovable corporate ERP cannot be extended. For a mill's fabric store and a garment unit's trim store and finished-goods area, native ERP warehouse capability with [barcode scanning](/glossary/barcode-rfid) at every movement is usually the better structure.

Vastra ERP holds fabric stock at roll level with lot, shade, width, length, grade and bin location on each roll, enforces lot-integrity allocation when issuing to a cutting lay, and manages trim and finished-goods stock with carton-level ratios in the same [inventory module](/features/inventory-management) that feeds costing and [MRP](/glossary/mrp).

Frequently Asked Questions

What is a warehouse management system?

A WMS controls the physical side of inventory: where each item is stored, how it is received and put away, how it is picked and issued, and how it is counted. It complements an ERP's inventory module, which holds stock as a quantity and a value rather than as physical objects in specific locations.

Why must a textile WMS track stock at roll level?

Because rolls of the same fabric are not interchangeable. Each roll carries a dye lot, a shade reading, an actual width and length and a quality grade, and a cutting lay must be built from rolls of one lot to avoid shade variation. A system that holds fabric as a quantity against a SKU cannot answer the only question the cutting room asks.

Does FIFO work in a fabric warehouse?

Only within a lot. Strict FIFO across lots will issue the oldest roll and then reach into a second dye lot to complete the requirement, producing exactly the mixed-lot cut that shade discipline exists to prevent. The correct policy is lot integrity first, then oldest-first within the chosen lot.

Does a garment factory need a separate WMS alongside its ERP?

Usually not. A bolt-on WMS duplicates the item master, lot master and allocation logic, and leaves two stock balances to reconcile. A separate WMS is justified for large independent distribution operations, automation, or third-party logistics. For a fabric store, trim store and finished-goods area, native ERP warehousing with barcode scanning at every movement is generally the simpler structure.

Ready to see Vastra ERP handle this in your business?

Book a 30-minute personalized demo.

Book Demo