Inventory & Procurement

Spare Parts Inventory

A store that can face an audit

On most Indian shop floors, spare parts live in a storekeeper's memory and a hand-written register — nobody outside the store window really knows what is on the shelf until a breakdown proves the register wrong. A missing bearing costs a shift, not because the part wasn't ordered, but because nobody could tell where it was or how many were left. AssetAI's Spare Parts Inventory replaces that register with a single ledger that every technician, planner and auditor can trust, wired directly into the work orders and requisitions your team already runs maintenance through.

One Catalogue, Not a Drawer Full of Slips

Every spare gets one record: a company-unique code, name, manufacturer part number, category, unit of measure, OEM/make/model it fits, bin location, unit cost, min/max stock, reorder level, a short description and a photo (up to 4 MB) so a contract worker who reads Hindi and not English can still match the part by sight. Codes default to a `SPR` prefix but you can override it per company if your stores team already thinks in its own numbering.

  • Spare type is tagged as consumable, rotating or critical — useful when you're deciding what deserves a min/max policy versus what's a one-time buy.
  • Bin location is free text, not a structured warehouse field — enough for a single store, not enough if you run rack-and-aisle logistics across sites.
  • New spares always start at zero stock. Whatever is sitting in the store today has to be entered as a goods-in movement, which is a deliberate design choice: it means every unit in the system arrived through the ledger, none of it appeared by fiat.

A Ledger With Exactly Three Movements

Stock only moves three ways, and each way is designed to answer "who did what, against what, and when" without anyone needing to ask.

  • Goods in — receipt against a GRN, PO or count-sheet number (kept as free text, since AssetAI doesn't run a purchase-order or GRN module itself). A unit cost entered here overwrites the spare's cost — it's last-purchase-cost valuation, not FIFO or weighted average, so your book value always reflects the most recent buy.
  • Issue out — consumption against a work order. Trying to issue more than what's in stock is hard-blocked with a plain message — "Cannot issue more than the N in stock" — on both the single-line and bulk issue paths, so a busy storekeeper can't accidentally issue a spare into negative stock on a Monday morning rush.
  • Adjust — sets the absolute quantity, typically after a physical count, and always leaves a trace of who changed it and why.

Every row in the ledger carries quantity, resulting balance, unit cost, a reference, an optional work order link, a timestamp and the user who posted it — enough to answer an internal audit question six months later without anyone reconstructing memory.

Requisitions That Travel With the Work Order

Parts consumption is where most CMMS tools go vague. Here it's a defined flow: a requisition (numbered `MR-000001`) is submitted against a work order, approved line by line — capped at the quantity requested, never more — and then issued, capped again at what was requested and at what's actually available. Issuing isn't a paperwork step; it writes the stock movement, decrements the spare's balance, posts a parts line onto the work order, and recomputes the work order's total cost in one action.

  • Requisition status moves through submitted, approved, rejected, partially issued, issued or cancelled — so a planner glancing at the list knows exactly where a request is stuck.
  • Add BOM parts pulls every spare on the asset's bill of materials straight into the requisition at its fitted quantity, which matters when a technician is replacing a gearbox and shouldn't have to remember six line items from a drawing.
  • By default, a storekeeper can manage spares and issue stock but cannot approve a requisition — approval sits with whoever you assign it to, keeping a basic separation of duties without adding a workflow layer nobody asked for.

Counting Stock Without Shutting the Line

Physical counts on a running plant are always a compromise between accuracy and disruption. Starting a cycle count (numbered `CNT-0001`) freezes a system-quantity snapshot for every active spare at that moment; posting the count writes adjustment movements that reference the count number, and any line the counter didn't touch is left exactly as it was — no silent zeroing-out of spares nobody got to.

One detail worth understanding before you rely on it: variance is calculated against current stock at the moment of posting, not against the frozen snapshot. If a work order issues a spare while the count is still open, that movement is real and the variance reflects it — the snapshot is a starting reference for the counter, not a locked ledger state. This is closer to how a real store behaves during a count than a theoretical zero-movement freeze, and it's worth explaining to your team before the first count so nobody is surprised by a number that moved under them.

Reorder Visibility and Labels You Can Actually Print

Reorder suggestions list every active spare at or below its reorder level, with a suggested quantity, sorted by longest lead time first — so the part that takes six weeks to arrive from a supplier in another state surfaces above the one you can get from a local vendor overnight. Lead time is validated between 0 and 365 days and warranty between 0 and 600 months, wide enough to cover both a fast-moving gasket and a slow-moving imported drive. For physical identification on the floor, QR and CODE128 labels can be printed straight from the spare record — handy alongside QR-based asset tracking if you're already scanning assets on the floor.

What This Deliberately Doesn't Do

Being honest about scope saves you a bad rollout. This module is built for a single maintenance store issuing parts against work orders with a clean, auditable ledger — not for a multi-plant network needing per-location stock and inter-store transfers. There's no warehouse entity, no serial or batch/lot tracking, and no purchase-order or GRN document inside the system — PO and GRN numbers exist only as free text on a movement, with no tax, HSN or GST fields and no Tally or ERP integration. Costing stops at last-purchase-cost; there's no FIFO or weighted-average option. And a spare that has any movement history or a BOM link can't be deleted — you retire it by marking it inactive or obsolete, which keeps the ledger's history intact.

If your plant fits that shape — one store, work-order-driven issues, periodic counts, reorder discipline — this is built for exactly that job, not a scaled-down version of a bigger system. You can see how it sits alongside the rest of the CMMS feature set, compare it against your current process in pricing, or just book a demo and walk through your own spares list on a call.

Getting Live Correctly: The First Two Weeks

The single biggest mistake teams make when they switch on Spare Parts Inventory is treating go-live as a data-entry task instead of a counting task. Because every new spare starts at zero stock, opening balances only become real once someone walks the store and enters a goods-in movement for what is physically on the shelf. Skip this discipline — or let one shift do it in a hurry before a plant holiday — and the ledger will be wrong from day one, and it will look exactly as authoritative as if it were right.

  • Assign one person to own the opening stock exercise, spare by spare, not one goods-in for a whole category.
  • Print QR or CODE128 labels for the top few hundred moving spares first; label the long tail later rather than delaying go-live.
  • Reconcile bin locations before go-live, not after — since bin location is free text, inconsistent naming (`RACK-3` vs `Rack 3`) will quietly break your storekeeper's search habits.
  • Run the first cycle count within the first month, not the first quarter, so variances are caught while the opening data is still fresh in someone's memory.

What to Watch Every Week

A ledger only earns trust if someone looks at it regularly, not just when a machine stops. The reorder suggestions list — active spares at or below reorder level, ordered by longest lead time — is the one screen worth a standing Monday-morning review, especially for critical spares where a stockout costs a shift, not a delay. Track requisitions stuck in "submitted" for more than a day; that usually means an approver is on leave, not that the part isn't needed. And review adjustment movements specifically, since a spike in adjustments against one bin is often the earliest signal of pilferage or a mis-tagged part, well before a physical count would catch it.

Where This Deliberately Stops

Be honest with your stores team about the edges before they discover them mid-shift. This module runs one store — there is no warehouse entity and no transfer workflow, so a multi-plant group with parts moving between locations will outgrow it fast; that's a fit question worth settling during use-cases review, not after rollout. There's no serial, batch or lot tracking, so if your compliance regime demands traceability by lot number for regulated components, this ledger won't carry that weight. And while a PO or GRN number can be typed into the movement reference, there is no purchase-order document or goods-receipt workflow inside the system — procurement still happens wherever it happens today, with the reference field simply linking the two records for audit, not replacing either.

Roles Worth Setting Deliberately

Storekeepers get spares management and issue rights out of the box, but not requisition approval — a separation that's easy to overlook when you're moving fast during setup, and awkward to explain later when an auditor asks who approved a line the storekeeper both raised and issued. Decide who approves requisitions before go-live, not during the first stockout, and make sure that person actually checks the approve queue rather than rubber-stamping it days later. Getting this sequencing right is exactly the kind of groundwork covered in our glossary on what a CMMS actually is, if your team is coming to structured maintenance software for the first time. If you'd rather see the whole workflow — catalogue, ledger, requisitions and counts — running against your own spares list before committing, that's a fifteen-minute conversation worth having on a demo call.

Spare Parts Inventory FAQs

How do I enter the spare parts already sitting in my store into AssetAI, since new spares start at zero stock?

You load it in as a goods-in movement against each catalogue entry, not by editing a stock number directly. Because every new spare in AssetAI starts at zero, the system forces you to record what's physically on the shelf as a formal transaction rather than a typed-in figure, so the opening balance carries the same audit trail as any later receipt. In practice a storekeeper counts each part on the shelf and posts one goods-in entry per spare code, quantity and bin location. From that point every issue against a work order or requisition, and every new purchase, moves the same ledger up or down. This is the same movement-based logic that runs the rest of a CMMS, so opening stock isn't a special case — it's simply the first entry in the record.

What's the actual difference between tagging a spare as "critical," "rotating" or "consumable" in AssetAI?

The spare type tag mainly decides whether a part gets an ongoing min/max reorder policy or is treated as a one-time buy. Critical spares — the ones whose absence stops a machine — are the parts you'd typically want covered by min/max and reorder level settings, since a stockout on these turns into downtime rather than just an inconvenient purchase order. Rotating spares are units you exchange, repair and return to stock (like a motor sent for rewinding) rather than consume outright, while consumables are used up and replaced. AssetAI doesn't apply different stocking rules automatically based on the tag — it's a filter a planner uses when deciding, spare by spare, which ones deserve a reorder policy. That decision matters most in use cases where a handful of parts are genuinely irreplaceable on short notice and the rest can be ordered as needed.

Can I keep using our existing spare part numbering system instead of AssetAI's default codes?

Yes, the SPR prefix is just a default and you can override it per company. If your stores team already thinks in its own numbering — say a legacy code sequence used for years across bins, registers and supplier invoices — you can set that prefix at the company level so every new spare code generated in AssetAI follows your existing convention instead of the system default. This matters because the code is the identifier every other record hangs off: bin location, min/max settings, work order consumption and requisitions are all tied to that one code, so keeping it consistent with what's already printed on bin labels and stored in old registers avoids a relabeling exercise. The catalogue itself still requires one unique record per spare regardless of which numbering convention generates the code.

How does AssetAI actually link spare parts stock to maintenance work orders and purchase requisitions?

Spare parts stock is wired directly into work orders and requisitions, so recording parts used against a job is what moves the ledger, not a separate stock adjustment. When a technician closes out a work order and logs the spares consumed, that quantity is deducted from the same record that shows bin location, unit cost and min/max levels — there's no parallel spreadsheet to reconcile afterward. If stock on a spare drops toward its reorder level, that same record is what a planner checks before raising a requisition, since the ledger and the requisition process point at the same catalogue entry rather than two separate systems. This is one of several connected pieces described on the features page, where work orders, requisitions and inventory sit on one ledger instead of being tracked in isolation.

Can AssetAI track spare parts stock across multiple plants or warehouses, not just one store?

Not as a structured multi-warehouse hierarchy — bin location in AssetAI is a free-text field, which is enough to tell a technician where a part sits in a single store but doesn't model rack-and-aisle logistics across sites. If you run more than one plant, each site's stores would typically keep its own catalogue entries (or its own bin-location text within a shared catalogue) rather than relying on the system to enforce a formal warehouse structure. That's a reasonable fit for a single store window per plant, which is how most Indian manufacturing sites are actually organised, but it's worth knowing upfront if you were expecting zone- and rack-level location tracking out of the box. Coverage across different plant types is outlined on the industries page if you want to see how this fits your specific setup.

How does AssetAI stop a technician from taking a spare part off the shelf without updating the stock count?

AssetAI doesn't physically stop a technician from walking off with a part — the ledger only changes when someone records a movement, so its accuracy depends on people actually logging what they take. What it does is remove the excuse for not logging it: because stock issue is tied to closing a work order, and a work order is how a technician's job gets recorded and signed off, recording the spare used is part of finishing the job rather than a separate paperwork step done later from memory. Bin location and photo references make it easier for whoever is issuing the part to confirm it's the right one before it leaves the shelf. Where this breaks down is the same place a hand-written register breaks down — someone taking a part without touching the system at all — so the ledger is a discipline tool, not a physical control.

If we have slow-moving spares that sit for months, how do we prevent them from being marked as obsolete or automatically removed from our inventory in AssetAI?

AssetAI flags slow-moving spares after 180+ days without stock movement, but doesn't auto-delete them. You manually review flagged items and decide: keep (if equipment still runs), scrap, or donate. Check your inventory aging reports monthly to stay ahead.

See Spare Parts Inventory on your own machines

A 30-minute demo on your plant, not our slides.

Put your plant on autopilot

Free for 14 days. Import your Excel, print QRs, and see your first honest downtime report this week.