Inventory
Track parts, tires, batteries, fluids, vendors, purchase orders, and returns — from the shelf to the repair order.
The Inventory page is your stock workspace on one screen. All Inventory always includes every product family. Shops can additionally enable focused Tires, Batteries, and Fluids & Supplies workspaces without creating separate stock ledgers or purchasing systems.

Dashboard
The Dashboard tab gives you the numbers that matter at a glance — parts needed, low stock count, and vendor credits. Anywhere on the page, a red banner warns you when items drop below their reorder point, with a one-click jump to the low stock list.
All Inventory
Use Product family to show generic parts, tires, batteries, or fluids and supplies. Universal search covers SKU, description, brand, model/profile identity, vendor, and shelf location. Click Add Inventory Item for an ordinary generic SKU, or use a visible family workspace for its structured create form. Fractional units use the item's declared stocking UOM and the current maximum of two decimals. After creation, catalog fields stay editable but the count itself only changes through posted stock movements, so every quantity always has a paper trail.

Click any part to open its detail view with three tabs:
- Overview — cost, price, margin, location, reorder point, and warranty terms.
- Movement History — every stock adjustment with type, quantity change, reason, and reference.
- Order & Sales History — which POs brought it in and which repair orders it went out on.
Need to correct a count? Use +/- to post a reasoned adjustment, or Count to enter what's physically on the shelf — the variance posts automatically and the movement history explains it. The unchanged generic Import CSV accepts generic inventory only. Family workspaces provide versioned tire, battery, and fluid templates with dry-run preview and row-level errors. Opening quantities for new rows become posted movements; quantity on an existing row is ignored and must be changed with Count or Adjust Stock. Export CSV keeps the existing generic export columns, including UOM and precision.
Structured profiles are append-only and versioned. Converting an existing SKU to or from a product family is an explicit audited command; editing an ordinary field never converts it. The inventory ID, movements, reservations, purchasing, returns, and repair-order links remain unchanged, and historical transactions keep the profile/family snapshot they recorded at posting.
Battery compatibility and tire fitment are shown as unavailable—not guessed—until that shop configures an approved authoritative source. A shop-managed tire catalog can support exact fitment and quote rules; this is not a global live catalog or universal distributor feed. Supplier offers are time-bound observations, not owned stock. Package information on a fluid is descriptive and never silently converts stock quantities.
Add a typed product
Choose the visible family workspace and use its structured create action. Supply only known required identity: a deterministic tire size/season and product identity, declared automotive battery fields, or fluid/supply stocking UOM and precision. Draft/incomplete state stays non-stockable where the current form permits it; the product never invents fitment, ratings, chemistry, UOM, or package conversion.
Parts Needed
Every part marked Needed on a repair order lands here, grouped by vendor. Copy a vendor's list to your clipboard for a quick phone order, mark parts ordered with tracking numbers, or hit Create PO to turn the whole group into a purchase order in one step.
On Order
Everything you're waiting on, in one list. When the delivery arrives, receive the actual quantities through the PO receiving workflow. A receipt posts the stock movement and updates linked repair-order material state. A supplier offer, order acknowledgement, or tracking number does not change on-hand quantity.
Vendors
Keep vendor profiles with contact info, account numbers, payment terms, sales rep details, and default lead times. Filter your parts list by vendor with one click.
Purchase Orders
Click New PO to build a purchase order line by line, searching your inventory as you type. POs move from Draft through Submitted to Received, and the receiving screen tracks ordered, previously received, and remaining quantities plus actual cost — so short shipments and cost changes don't slip past you. Short-shipped? Backorder moves the outstanding remainder to a linked follow-up PO in one step.

Returns
Defective part or wrong shipment? Use New Return, select the actual linked SKU/quantity and reason, then move the return through its current create, ship, received/refund/credit states. A return changes stock only through its recorded transaction and keeps the RMA/tracking/settlement history; deleting the row is not a correction path.
Tire Inventory versus Tire Storage
Tire Inventory is shop-owned merchandise on this ledger. Tire Storage is customer-owned seasonal property held in custody and has no inventory balance, purchase order, cost, or sell-price authority. See Tire Storage.
Next: Canned Jobs — the service templates that put these parts to work.