Fabric Store Management: FIFO, Shortages and the Roll That Went Missing
Ask a factory owner where their money is on any given Tuesday and the honest answer is the fabric store. It holds more value than the sewing floor, it is staffed by fewer people, and it is the one department where a mistake stays invisible for weeks. A missing roll does not stop anything on the day it goes missing. It stops something six weeks later, when the last lot of that article is short by forty pieces and there is no matching shade left in Nepal.
I run a CMT factory and I have made most of the mistakes described below before building them out of our own system. This is what the fabric store actually controls, and the specific places where the number on the screen drifts away from the fabric on the shelf.
What the Fabric Store Actually Controls
The store has four jobs and they are worth naming, because most store SOPs describe only the first one.
- Receiving. Fabric arrives against a purchase document, gets counted, weighed, and handed to inspection.
- Identity and location. Every roll gets a number and a place it lives, so a request for "that grey single jersey" resolves to a specific roll on a specific rack.
- Issue. Rolls go to cutting and the consumption is recorded against a lot, roll by roll.
- Return. Whatever comes back — end-bits, unopened rolls, rejected pieces — goes back into the balance.
Every failure I have seen in a fabric store is a failure of one of those four, and the fourth is where almost all of them happen.
Receiving and the Handoff to Inspection
Receiving and inspection are two steps, not one, and the store should not be allowed to do both in the same movement. The store's job is to establish that the quantity billed is the quantity delivered. Inspection's job is to establish that the fabric is usable. They are different questions asked by different people, and collapsing them means short deliveries get discovered by the cutting master.
In practice, receive first and mark the lot as pending inspection so it cannot be issued, then let inspection work through it on the 4-point system. If a supplier claim is going to be made, it has to be made on the delivery, not after half the fabric has been cut. Most CMT factories inspect a sample percentage rather than 100% of incoming rolls, which is reasonable for a known supplier and dangerous for a new one.
Roll Identity: Why a Roll Needs a Number
A roll without a number is not stock, it is a guess. The moment two rolls of the same article and colour sit on the same rack, nothing in the store can tell you which one is older, which one came from which dye lot, or which one already had thirty kilos taken off it.
Roll identity is what makes everything else possible. Once a roll has a number, you can record which dye lot it belongs to, what it weighed on arrival, how much has been issued against it, and where it physically sits. In our own store, fabric stock is held with a roll-level breakdown, and when cutting consumes fabric the deduction is recorded roll by roll — which rolls were used, what weight came off each, how many layers were laid, and what end-bit remained. That last field is the one that keeps the store honest.
FIFO and FEFO in Practice, and Why They Break
First-in-first-out is the correct default for fabric. Cotton knits yellow, elastane loses recovery, and coated or printed fabric ages faster than either. Some factories run FEFO instead — first-expiry-first-out — where fabric with a known shelf life, typically anything with elastane or a coating, jumps the queue ahead of older but more stable stock.
Both break for the same unglamorous reason. The oldest roll is at the back, behind four newer rolls, and the cutting master needs fabric before the line runs dry. Nobody is going to move four rolls. They will take the front one and the store record will say whatever the storekeeper types afterwards.
The fixes are physical, not procedural:
- Load racks from one end and issue from the other, so rotation happens by geometry rather than by discipline.
- Keep a live aisle in front of every rack. A rack you cannot reach is a rack that will not rotate.
- Let the system nominate the roll. When the store screen says "issue roll 412", the choice is no longer made by whoever is standing there at four in the afternoon.
- Write down the exception. Shade continuity genuinely overrides FIFO inside a lot, and a policy that pretends otherwise just teaches people to ignore the policy.
Shade and Lot Segregation
Dye lots of the same colour are not the same colour. The difference is often invisible on the roll and obvious on a finished garment where the sleeve came from one lot and the body from another. This is the most expensive mistake a fabric store can make, because it is discovered after cutting, after sewing, and sometimes after packing.
Segregate by dye lot on the rack, not just in the record. Keep a shade band from each lot, and check new arrivals against the band and against the approved swatch. If a lot arrives in two shades, treat them as two lots and cut them as two lots. Most factories then plan the marker so that all panels of one garment come from one shade — which sounds obvious until a shortage tempts someone to top up one size from the next lot.
The store's protection here is simple: an issue record that carries the dye lot, so if a shade complaint comes back from the buyer you can find out in an hour which lot went into which cartons, instead of guessing.
Issuing to Cutting, Roll by Roll
The issue transaction is where store discipline either holds or collapses. A weak issue process records "80 kg of grey single jersey to lot S-26-220". A strong one records which rolls, what each weighed before and after, how many layers were laid from each, and what was left. The strong version costs the storekeeper perhaps two extra minutes per issue and pays for itself the first time a lot runs short.
The reason to do the deduction in software rather than a register is not neatness, it is atomicity. Either the lot gets the fabric and the store balance drops, or neither happens. In our system that deduction runs inside a transaction against an immutable ledger — entries can be added and corrected by a reversing entry, but they can never be deleted, and that rule is enforced at the database level rather than by a screen that hides the delete button. A store record you can quietly edit is a store record nobody trusts during an argument.
End-Bits and Leftovers: The Phantom Stock Problem
If you audit one thing in your store this month, audit end-bits.
The pattern is always the same. A roll is issued at 42 kg. The cutting table lays its layers, the lot is complete, and 6 kg of usable fabric comes back on the trolley. Nobody records the return, because the lot is finished and everyone has moved on. The system now believes 42 kg was consumed. The 6 kg physically exists, on a shelf, belonging to nobody.
The rule that fixes it: nothing leaves the cutting table without a weight, including the leftover, and that weight is entered the same day as a return against the roll it came from. How much should have gone out in the first place is a separate question, answered by the marker rather than the store — our guide to cutting room management covers that side. Give end-bits their own shelf and their own labels with article, colour, dye lot and weight, so that the next time a small lot or a sample needs 5 kg, someone can actually find it.
Physical Versus System Stock: How Drift Happens
Stock drift is rarely theft. In my experience it comes from five ordinary places, in roughly this order of frequency: unrecorded end-bit returns, issues recorded a day late and then estimated, moisture and weighing differences between one scale and another, rolls moved between racks without a location update, and corrections made by overwriting an old entry instead of posting a new one.
Count regularly and count small. A full physical stocktake once a year tells you the size of the problem long after you could have fixed it. Cycle counting — a few articles every week, chosen so that fast-moving stock is counted most often — finds the drift while the cause is still remembered. When a count disagrees with the system, post an adjustment entry with a reason. Never edit history. The value of a ledger is that it explains how you got here, and a ledger you can rewrite explains nothing.
Kilograms Versus Meters
Knits are bought, weighed and consumed in kilograms. Wovens are bought and measured in meters. Trouble starts when one item is allowed to carry both, because converting between them needs fabric width and GSM, and two people in the same factory will use two different conversions. Then the store says one thing, cutting says another, and the argument is unresolvable because both sides are arithmetically correct from their own starting point.
The policy is one unit per item, fixed at the time the item is created, and an entry in the wrong unit is refused rather than silently converted. That is how our own fabric stock behaves: fabric is tracked in its natural unit and a mismatched unit is rejected at entry. Dual-unit handling is genuinely useful — a box of buttons really does have both a piece count and a gross count — but that belongs to the trim store, which I have written about in trims and accessories inventory.
Low-Stock Alerts Worth Reading
Most reorder alerts are ignored, and they deserve to be. They fire against a minimum level someone typed into the item master two years ago, which bears no relationship to what the floor is consuming this month.
A useful alert is computed from consumption. Ours takes the average daily consumption from the last 30 days of ledger entries, divides current stock by it, and reports days until stock-out rather than a quantity below a line; the alerts page flags anything inside a seven-day horizon. That number is actionable in a way that "below minimum" never is, because it can be compared directly against your supplier's lead time. If dyeing and delivery take three weeks and the screen says eleven days, that is a decision, not a notification.
The same ledger supports stock aging, the counterpart to FIFO: rotation prevents aging, aging analysis catches the rotation you missed. It also supports size-aware consumption analysis driven off the Optitex marker data, which is what you need when a lot is short in one size only.
Frequently Asked Questions
What does fabric store management actually involve?
Four jobs, in order: receive fabric against the purchase document and hand it to inspection; give every roll an identity and a location so it can be found again; issue rolls to cutting and record exactly what was consumed; and return what comes back, so the balance on the shelf matches the balance on the screen. Everything else in the store, including FIFO rotation and shade segregation, exists to make those four jobs come out right.
Why does FIFO break down in a real fabric store?
Because the oldest roll is usually at the back, under three newer rolls, and the cutting master needs fabric in ten minutes. FIFO fails on physical access, not on intent. The fixes are physical: load new stock from one side and issue from the other, keep a live aisle in front of every rack, and let the system nominate the roll to be issued rather than leaving the choice to whoever is standing there. Shade continuity also legitimately overrides FIFO within a lot, and a store policy should say so rather than pretending it does not happen.
Where do end-bits and leftover fabric go wrong?
End-bits are the single largest source of phantom stock. A roll is issued, the layers are cut, a few kilos come back on the trolley, and nobody records the return. The system then believes the whole roll was consumed while the fabric physically sits in the corner. Months later the store shows zero and the shelf shows fabric, or the reverse. The rule that fixes it is simple and unpopular: nothing leaves the cutting table without a weight, including the leftover, and that weight goes back into the ledger as a return the same day.
Should fabric be tracked in kilograms or in meters?
In whichever unit it was bought and is physically measured in. Knits are normally bought and weighed in kilograms; wovens are normally bought and measured in meters. The mistake is letting one item carry both units, because then every report needs a conversion that depends on width and GSM, and two people will use two different conversions. Our own system tracks fabric in its natural unit and rejects an entry whose unit does not match the item. Dual-unit conversion is useful, but it belongs to accessories, where a box of buttons genuinely has a piece count and a gross count.
Scan ERP by Country
A Fabric Store Ledger You Cannot Quietly Edit
Scan ERP holds fabric stock in an immutable ledger with full audit trail: roll-level records, automatic roll-by-roll deduction when cutting consumes fabric, end-bit capture, stock aging, and low-stock alerts computed from the last 30 days of real consumption — built and run in a 500+ machine CMT factory.
Request a Free DemoIf you want a single test of whether your fabric store is under control, take any roll number from last month's issue register and ask the storekeeper what happened to the leftover. The speed of the answer tells you everything. In a store that is working, it takes a minute and produces a weight. In a store that is not, it produces a story.
Santosh Rijal is the founder of Scan ERP, a garment manufacturing ERP system designed for factory floor operations. He works directly with sewing lines, cutting rooms, and production supervisors across Nepal's garment manufacturing sector.