Your spreadsheet says you have 47 yards of that Shaw pattern in stock. Your warehouse has 12, split across two rolls, in two different dye lots. That gap isn't a typo. It's what happens when carpet inventory gets tracked with tools built for counting boxes, not rolls.
Most inventory software, and most flooring businesses that inherited a general-purpose retail or accounting tool, treats every unit the same way: one SKU, one count, in or out. That logic works fine for hardware, tile, or boxed vinyl plank. It falls apart on carpet, because carpet doesn't come in discrete units. It comes in continuous rolls that get cut, re-cut, and left as remnants, and every roll can carry a dye lot number that makes it functionally different from the "same" SKU ordered six months later. A tool that can't hold that distinction isn't tracking your inventory. It's guessing at it.
Generic inventory platforms, including most QuickBooks add-ons and general retail POS systems, count in whole units. Add ten, subtract three, done. Carpet doesn't move in whole units. A 100-yard roll gets cut for a 22-yard job, leaving 78 yards that the system still logs as "1 roll" unless a human manually corrects it, every time. Multiply that across a warehouse with 40 active rolls and three sales reps quoting jobs off the same stock, and the spreadsheet stops reflecting reality within a week.
This is the same operational gap covered in how flooring job management software handles scheduling and crew assignments: the tools built for general small business use don't understand the physical reality of a flooring job, so the business ends up running two systems, the software and the truth, and reconciling them by hand.
Three failure modes show up again and again in flooring inventory, and they're rarely named directly in software marketing:
The dye lot problem is the one that costs the most, because it doesn't show up until installation day. The Carpet and Rug Institute has published guidance for years on dye lot variation for exactly this reason: color consistency within a lot is standard, consistency across lots isn't guaranteed. If your system can't tell a crew which physical roll and lot to pull, you're one job away from a callback, a re-order, and a customer who's now questioning everything else you told them.
Carpet inventory software worth paying for needs to do four specific things that generic tools skip. It needs to capture the dye lot number at receiving, not as a free-text note but as a searchable field tied to that specific roll. It needs to track roll length as a running balance, cut by cut, instead of resetting to a flat unit count. It needs to let a rep allocate a partial roll to a specific job and automatically return the remainder to available stock, remnant included, rather than losing that yardage in the gap between "committed" and "sold." And it needs to flag when the quantity on hand in a given dye lot falls below what's already committed across open jobs, before a second sales rep quotes against carpet that's already spoken for.
None of this is complicated technically. It's just specific to how carpet physically moves through a store, which is exactly what general accounting and retail inventory tools were never designed to model.
Floorzap doesn't treat inventory as a standalone module that lives apart from the sale. When a rep builds an estimate that includes carpet (the same estimate process covered in flooring estimate software), Floorzap checks it against a specific roll and dye lot on hand, not just a SKU total. Once the job is scheduled, that roll gets reserved. Once it's cut, the remaining yardage, remnant included, goes back into available stock automatically instead of sitting untracked in a back room.
That job-linked history matters two years later, when a customer calls about a stain repair or a room addition. Instead of guessing which dye lot went into their living room, staff pull the original job record and see the exact roll it came from. That's the difference between a five-minute answer and a re-measure visit that never should have been necessary. It's the same principle behind how Floorzap connects inventory to the rest of flooring business operations: stock numbers only mean something when they're tied to the job they belong to.
Does carpet inventory software need to track dye lots separately from SKU numbers? Yes. Two rolls with the same SKU can come from different production runs and show visible color variation once installed. Software that only tracks SKU quantity, without a dye lot field, can't warn you before that mismatch reaches a customer's floor.
How should partial rolls get counted after a cut? The remaining yardage should return to available stock automatically, tied to its original roll and dye lot, not get zeroed out or left as a manual note that someone forgets to update.
Do I need to barcode every roll for this to work? No. Roll and dye lot tracking works with manual entry at receiving as long as the software ties that data to the job record afterward. Barcoding speeds up the process but isn't required to fix the underlying tracking gap.
Watch a 10-minute walkthrough of Floorzap's inventory module at floorzap.com.