Hardware store inventory: long-tail SKUs, single units, and never-out basics
Hardware store inventory management: build the never-out basics list, run bulk-break mechanics for singles from case packs, and keep counter counts honest.
InventoryX is in development and not available today. ClearStock is the live Shopify app.
The count that dies in a hardware store is the count you sell in a different unit than you buy. The shelf tag says 100 because the case held 100; the drawer holds 23 loose screws because sixty-some customers each took a few, one clerk grabbed a handful for a store repair, and nobody rang any of it. Multiply that by a few hundred fasteners, anchors, and fittings, and the inventory report becomes a rumor. Hardware stock control stands on two disciplines — a never-out list of the SKUs that can never be empty, and bulk-break mechanics that keep case packs and single units reconciled. This piece covers both mechanics; the deeper math of irregular demand lives elsewhere, and we'll mark where.
The never-out list
Some empty pegs cost you the 75-cent part. Others cost you the whole job the part enables — and the customer who can't find it doesn't order it online and wait. They drive to the big-box across town, and while they're there, they buy everything else. That asymmetry is why hardware stores need a formal never-out list rather than good intentions.
Three questions decide what belongs on it:
| Question | If yes | If no |
|---|---|---|
| Does the customer's job fail without it? (washers, anchors, tape, common screws) | Strong never-out candidate | Ordinary stock rules |
| Does it sell steadily year-round? | Can hold a small buffer | Seasonal — handle on the seasonal calendar |
| Would a customer wait days rather than switch stores? | Ordinary stock rules | Never-out candidate |
Items scoring "strong candidate" on the first question and "no" on the third are the heart of the list: cheap, always in demand, and the moment they're missing, the basket walks. Most independent stores land somewhere around 30–60 SKUs (a workable size to check weekly, not an industry benchmark) — the specific hose washers, wall anchors, picture hangers, utility knives, and common fastener sizes your counter actually hears about.
The weekly routine for the list is deliberately boring:
- Check the shelf drawer against par — par set at roughly two weeks of use (illustrative; set it from your own counter history).
- Top up from the back room — opening a sealed case to refill the drawer is a physical act, not a system event, as long as you track the base unit (more on that below).
- Order the shortfall — when back-room stock plus shelf stock can't cover the par plus the drawer, the item goes on the order.
The category-level idea behind the list — choosing which SKUs earn a guaranteed-availability promise and which don't — is the never-out-of-stock strategy itself, and that piece covers the selection logic in depth. Here we're concerned with the counter mechanics that keep the promise.
Bulk break: selling singles from case packs
Bulk break is the act of opening a case pack and selling its contents as single units. It's where hardware inventory either works or quietly collapses, and the collapse almost always comes from tracking two units — case and each — as if they were one.
The recommended pattern: track eaches only. The case is how you buy, not how you stock. When a case of 100 arrives, you receive 100 units of the "each" SKU. Sealed cases sit in the back room as 100-unit blocks; the open case on the shelf is the same SKU, just physically opened. One SKU, one number, no conversions — the sealed/open distinction lives on the shelf, not in the system.
Worked example (illustrative numbers, velocity estimated from POS history): 1.5-inch deck screws, sold as singles.
- You buy cases of 100 at $18 per case (illustrative) — $0.18 each — and sell singles at $0.50.
- Counter velocity runs about 14 singles per week.
- Your supplier delivers in about a week, and you want roughly six weeks of total cover: 6 × 14 = 84 units as the reorder level.
A month of the routine, in numbers:
| Week | Shelf drawer | Sealed cases | Total singles | Action |
|---|---|---|---|---|
| 1 | 31 | 2 | 231 | None — well above 84 |
| 2 | 24 | 2 | 224 | None |
| 3 | 17 | 1 | 117 | Break a sealed case (drawer < 20) |
| 4 | 29 | 0 | 46 | Below 84 → order one case |
Two triggers do all the work. The break trigger is physical: when the open drawer falls below about 20 singles, open a sealed case and pour. In the eaches-only pattern this changes no system number — you're moving 100 units from "back room shelf" to "counter drawer." The order trigger is arithmetic: total singles across drawer and sealed cases below 84 means order. In week 4 the gap is 84 − 46 = 38 units, but you can't buy 0.38 of a case — the MOQ is one case of 100, which restores you to 146 singles, about ten weeks of cover. That rounding-up-to-a-case is the small inefficiency every hardware store accepts; the alternative, tracking fractional case quantities, costs more in errors than it saves in shelf stock.
The pattern to avoid: a case SKU and an each SKU. Two SKUs for the same physical stock means two numbers that must be manually converted every time a case breaks — receive the case SKU, adjust minus one case plus one hundred eaches, and pray the clerk did it. Every conversion is a chance for the numbers to split. The general disease here — buying units and selling units that don't match — and the errors it generates are covered properly in our unit-of-measure piece; the short version for hardware is that the case should almost never be a stock-keeping unit at the counter. The exception is genuinely case-priced trade sales: if a contractor buys a sealed case, ring the quantity of eaches at a case price (or maintain a non-inventory case line for pricing convenience) — the stock still moves as eaches.
The same one-pool logic applies to box variants on a product page: a "Box of 50" variant and an "Each" variant each carry their own independent quantity in Shopify — nothing converts a box sale into fifty fewer eaches automatically, because variants are tracked separately per location (shopify.dev, InventoryQuantity, accessed November 2026). If you list both, one of them needs a manual conversion ritual, and rituals get skipped on busy Saturdays.
Why hardware counts drift anyway
Even with clean bulk-break mechanics, counter counts drift, because hardware stores are full of legitimate stock movements that aren't sales: staff pulling parts for a store repair, a fitting that snaps while a customer tests it, the two screws walked out in a pocket. Three habits hold the line:
- Ring everything, including freebies. A $0 parts order is still a transaction; the movement is what matters to the count.
- Use quick counts at the counter. Shopify POS lets staff view and adjust inventory on the spot (Shopify Help Center, "Tracking and adjusting Shopify POS inventory," accessed November 2026) — a thirty-second recount of a suspect drawer beats discovering the hole at year-end.
- Count the drift-prone sections on rotation. Fasteners and fittings get counted monthly; power tools don't need it nearly as often.
The fuller routine — why POS counts stop matching the shelf and the weekly rhythm that fixes it — is covered in our Shopify POS inventory piece, so we won't re-teach it here.
Where this ends and spare-parts logic begins
Most of a hardware store's long tail behaves like ordinary retail: steady enough that velocity-based reordering works. A slice of it does not — the snow-thrower shear pins in August, the specialty fitting that sells twice a year, the part superseded by a newer model. That slice runs on different logic: lumpy demand, min-max settings, supersession chains. We cover that logic in the spare-parts inventory guide, and hardware stores with a repair-parts counter should read it as the companion to this piece rather than improvising their own.
One tooling note in the interest of honesty: InventoryX is intended to read your Shopify quantities per variant and builds its buying list from sales velocity — it has no case-to-each conversion and no MOQ handling, which is exactly why the eaches-only pattern above matters. Track the base unit, and the app sees clean numbers; track cases and eaches in parallel, and no tool can reconcile what your system itself never reconciled.
Common questions
What is bulk breaking in inventory? Opening a case pack and selling its contents as individual units. The mechanics that keep it honest: track only the base unit (the each), treat the case as a purchasing quantity rather than a stock unit, and set two triggers — a physical one for opening a new case and an arithmetic one for reordering.
What are never-out items in a hardware store? The cheap, evergreen SKUs whose absence ends the customer's whole job — hose washers, wall anchors, common screw sizes, picture hangers. They earn a par level, a weekly shelf check, and a top-up from the back room, because a 75-cent hole in the pegboard sends the entire basket to a competitor.
How do I track single units versus cases in Shopify? Receive cases as their contents — a case of 100 adds 100 to the each SKU — and sell singles against that one number. Avoid a parallel case SKU or a box variant unless you're willing to manually convert stock every time one sells, because each variant carries its own independent quantity with no automatic conversion between them.
How often should a hardware store count stock? Rotate rather than flood: fastener and fitting drawers monthly, slow sections quarterly, everything at year-end. Between counts, ring every movement — including zero-dollar parts pulled for store use — and use quick POS counts on any drawer that looks wrong the moment you notice it.
What inventory turnover should a hardware store expect? There's no universal number — fasteners and consumables turn many times a year while tools and big fixtures barely move, so blended turn depends heavily on your mix. The honest method is computing your own from COGS and average inventory, then reading which sections drag the blend; the turnover formula and its reading are covered in our inventory turnover piece.
Next step
Write the never-out list this week: walk the store once, apply the three-question table to the pegs your counter hears about daily, and cap the list at what you can check in ten minutes every Monday. Set par on each item from your own counter velocity, then run the two-trigger routine — break a case when the drawer runs low, order when total cover dips under six weeks. If a slice of your stock turns out to sell in bursts rather than streams, the min-max logic in the spare-parts guide is the method that fits it.