Feature · Parts & inventory

A parts catalog your work orders, tires, and accounting team actually use.

Tenant-scoped part numbers, manufacturers, UPCs, units of measure, unit cost — wire them into work orders. Per-tire lifecycle history for tire-heavy fleets.

Part # · UPC · manufacturer PN Seeded UOMs on day one Per-tire append-only history
app.fleetservice365.com/parts
Parts catalog 2,418 records · tenant Hartwell Logistics + New part
All Brakes Filters Fluids Tires Hardware Electrical
Part # Description Category Manufacturer UOM Unit cost
BP-FA-D2 Brake pad set · front · semi-metallic Brakes Bendix set $112.40
OF-LP15W40 Oil filter · diesel Filters Fleetguard ea $14.20
HYD-AW46 Hydraulic fluid AW46 Fluids Mobil gal $18.95
TIRE-XDA5-1122 Tire · Michelin XDA5 · 11R22.5 Tires Michelin ea $612.00
BLT-M12-150 Bolt M12 × 1.5 · grade 10.9 Hardware Fastenal ea $1.85
DEF-25G DEF · 2.5 gal jug Fluids BlueDEF gal $9.50
Seeded day-one UOMs: ea · ft · gal · in · lb · qt · set · tube tenant-scoped · row-level secured
What’s broken today

Parts data is messy. Tire data is messier. Most tools punt.

01
Parts in spreadsheets, work orders in software.

Two systems, two sources of truth, two reconciliations every month-end. The shop foreman knows the part number; the catalog says nothing; the work order says “front pads” — and at year-end you can’t tell which trucks ate which pads.

02
“What’s the part number again?”

Without a catalog, every technician types a slightly different description. “Brake pad set,” “front pads,” “BP set fr,” “pads (front).” Your spend-by-part report becomes useless, your warranty claims slow to a crawl, and your reorder list is a wall of free text.

03
Tires are not just parts.

Per-tire lifecycle — mount position, retread count, inspection history — is its own domain. Most fleet tools either ignore it or shove it into custom fields. Neither survives a commercial vehicle inspection, and neither tells you when to retread.

What’s behind it Shipped today

The catalog foundation — plus tires as a first-class domain.

Six things shipped today. Be clear-eyed about the rest: stock-on-hand, reorder thresholds, and vendor price history are roadmap — see the band below.

Parts catalog
Tenant-scoped records: part number, category, manufacturer, manufacturer PN, UPC, description, unit cost, unit of measure. All on one row.
/parts
Four metadata catalogs
Part Categories, Part Manufacturers, Part Locations, and Units of Measure (name + symbol). Curate once; reuse on every part record.
/admin/parts-inventory/*
Seeded UOMs on day one
Every new tenant gets the standards out of the box — ea, ft, gal, in, lb, qt, set, tube. No “configure units of measure” Friday afternoon.
/admin/parts-inventory/units
Granular permissions
parts.view / create / edit / delete control catalog access. admin.parts_inventory.manage gates the metadata catalogs. Bench techs can pick parts but can’t edit cost.
parts.{view,create,edit,delete}
Tire Management v2
Tire-specific attributes, axle configurations, per-tire lifecycle and readings — install, remove, rotate, repair, retread, inspect — as one activity log per tire.
/tires/TIRE-0042
Public REST API + MCP
Every parts and tire endpoint is in the same REST surface as the rest of FS365 — and accessible from MCP for fleet-aware copilots. No second integration story.
/api/v1/parts
The honest part Roadmap · V2

Here’s what we haven’t built yet.

We could quietly imply it. We won’t. Today’s parts module is a catalog foundation plus tire lifecycle. If you need stock-on-hand or QuickBooks sync to evaluate us — wait for V2 or talk to us about your specific shape. We’d rather lose the deal than win it on something we don’t ship.

Stock-on-hand
Quantity per part, decremented when consumed.
Multi-location stock
Yard, main shop, mobile-tech truck — separately.
Reorder thresholds
Min / max levels with auto-flagging.
Vendor price history
Cost over time, per vendor, per part.
Service-entry parts consumption
WO save decrements on-hand stock.
TPMS integration
Tire-pressure sensor reads via Real-Time Units.
QuickBooks / NetSuite sync
Parts and cost flowing into the GL.
Deep dive · 01 Shipped

A catalog that scales with how messy parts data actually is.

UPC for barcode scanners. Manufacturer part number for cross-referencing. Your part number for internal use. Unit cost for accounting. Unit of measure for inventory math. All on one row. No “miscellaneous” category to clean up later.

  • Three identifiers, three jobs. Part # is yours — short, mnemonic, what techs say out loud. Mfr PN is the vendor’s — what the parts counter asks for. UPC is universal — what the scanner reads.
  • Unit of measure is structured, not free text. A set of pads is not 2 pads is not 4 pads. Pick the UOM from a tenant-curated list (with seeded defaults), so your “average parts cost per WO” report stays honest.
  • Unit cost on the part, not buried in a line item. Update the catalog, every future work-order line picks it up. Today’s value is the snapshot at line creation — historical lines are preserved.
  • Categories, manufacturers, locations — tenant-curated. No vendor list with 8,000 entries you have to scroll past. Your shop’s actual list — and only your shop’s.
  • Wired into work orders. A WO line item picks from this catalog — so spend rolls up by category, by manufacturer, by part number. No string-matching reports.
PART · BP-FA-D2
Brake pad set · front · semi-metallic
Brakes v3
Part number
BP-FA-D2
internal
Manufacturer
Bendix Spicer Foundation Brake
cross-reference
Mfr part number
SBV-2241-D2
vendor lookup
Unit cost
$112.40
accounting
Unit of measure
set · “set”
inventory math
Location
Main shop · Aisle 4 · Bin 12
where to find it
0 47821 22410 6
UPC
Scan-ready for barcode pickers — on the roadmap. Today the field is searchable; tomorrow it pairs with stock-on-hand.
Work orders
14
last 90 days
Assets used on
9
TRK-04 … TRK-42
Avg labor
0.8 hr
per line
wired to work orders
TIRE-0042 Michelin XDA5 · 11R22.5
DOT BFNCXYZ · 2024 W14
Mounted
Asset
TRK-18
Position
LF · steer
Tread depth
11/32"
Retread count
1
Activity index · append-only
7 events · since Mar 12, 2025
INSTALL Mounted on TRK-18 · LF steer · new Mar 12, 2025
@ 0 mi since install · asset @ 142,200 mi
ROTATE LF → RF · routine rotation Aug 22, 2025
@ 28,400 mi since install
INSPECT Sidewall cut · within repair limits Nov 4, 2025
@ 41,200 mi · 8/32 tread
REMOVE Pulled for retread · 4/32 tread Feb 18, 2026
@ 52,800 mi
RETREAD Bandag T1 cap · retread #1 Feb 28, 2026
@ 52,800 mi · cap added
INSTALL Re-mounted on TRK-18 · LF steer Mar 3, 2026
@ 52,800 mi · new cap
INSPECT Routine DOT inspection · pass Apr 14, 2026
@ 58,400 mi · 11/32 tread
Row status, current mount, retread count update atomically in the same txn. commercial vehicle inspection ready
Deep dive · 02 Shipped

Per-tire activity index — append-only, audit-grade.

Every install / remove / rotation / repair / retread / inspection lands as one immutable event. The tire row’s status, current mount, and retread count update atomically in the same transaction. That’s the audit trail commercial vehicle inspectors actually ask for.

  • One event log per tire. Not per truck. A tire that moved from TRK-18 → TRK-04 → retread → TRK-22 carries its full history with it. Mount positions, retread count, inspection results — one timeline.
  • Six event kinds, all first-class. install, remove, rotate, repair, retread, inspect. Each has the fields it needs — no “notes” field doing all the work.
  • Status and counters update in the same transaction. When a retread event lands, the tire’s retread_count increments and its status changes in the same database transaction. No “the log says retread but the row still says new” drift.
  • Axle configurations, not custom fields. Each tire knows its mount position (LF · LRO · LRI · etc.) — and the rotation event encodes the swap. Your DOT inspector gets the layout they expect.
  • What auditors actually ask for. “Show me TIRE-0042’s history” — one URL, one page, every event since install. That’s the bar. Most fleet tools clear it for trucks; we clear it for tires.
Compare

Fleet Service 365 vs. AUTOsist.

Where the parts catalog diverges — and why the difference matters the first time you try to roll up “spend by manufacturer” or hand a tire history to a DOT inspector.

Capability Fleet Service 365 AUTOsist
Tenant-scoped parts catalog Limited
Part number + UPC + manufacturer PN Description only
Per-tire lifecycle history
Custom units of measure Fixed
Categories + manufacturers + locations
Granular parts permissions
Public REST API + MCP for parts
See full comparison → Comparison based on publicly listed AUTOsist capabilities as of May 2026.
Use cases

Three shops, one catalog shape.

Shop · clean slate
Building a part-number catalog from scratch.
New customer, no inherited catalog, no spreadsheet to migrate. UOMs are seeded. The shop adds five categories, three manufacturers, and 240 parts in a week — and every work order from day one references a clean catalog row.
Day-one UOMs · 8 Time to first 100 parts · ~2 hr Cleanup later · none
Construction · 200 tires
200 tires across 40 trucks — each one tracked.
Each tire’s installation date, rotations, repairs, and retread count tracked per tire, not per truck. When TIRE-0042 rolls from TRK-18 to TRK-22, its history rolls with it. Retread #2 lands and the row updates atomically.
Tires tracked · 200 Events / tire / yr · ~8 Inspection time saved · hours
Dealership · reconciliation
Reconciling parts spend across service entries for the GL.
Every line item references a catalog row with a unit cost. Spend rolls up by category and manufacturer cleanly — no string matching, no “miscellaneous” bucket. Fixed-ops manager gets a clean export. (GL sync is on the roadmap; today it’s a clean CSV.)
Categories · 12 Manufacturers · 34 Misc category · none
FAQ

Questions we hear a lot.

Can I scan a UPC barcode to find a part?
UPC lives on the part record and is searchable today. Hardware barcode-scanner workflow — point a USB scanner at a work-order line and resolve to the part — is on the roadmap, paired with stock-on-hand. If barcode picking is a hard requirement for evaluation, tell us your scanner model and shop layout; we want to scope it against your shape.
Does the system track stock on hand and reorder thresholds?
Not today. Today’s parts module is a catalog foundation — part records and metadata catalogs — plus tire lifecycle. Stock-on-hand, multi-location stock, reorder thresholds, and vendor price history are V2. If you’re running on spreadsheets today, the catalog still gets you to clean part numbers and clean work-order lines, which is the prerequisite for any inventory math worth doing.
How does this work with my existing parts vendor — NAPA, FleetPride, AutoZone?
The catalog stores the manufacturer part number alongside your internal part number, so calling NAPA with “I need SBV-2241-D2” works out of the box. Direct vendor catalog import and live vendor pricing are roadmap items. Today, the integration is “your team types the part numbers once and never re-types them.”
Can I import a CSV of my existing parts catalog?
Yes. CSV import maps your existing columns onto the parts schema: part #, description, category, manufacturer, manufacturer PN, UPC, UOM, unit cost. Unmapped columns land as draft notes for review. New categories, manufacturers, and locations get created from the import or matched against the metadata catalogs you’ve already curated.
What’s different about how tires are tracked vs. other parts?
A tire has a per-unit identity that other parts don’t — the same physical tire moves from truck to truck, gets retreaded, gets inspected, comes back. So each tire is its own record, with its own append-only activity log (install, remove, rotate, repair, retread, inspect) and current-state fields (mounted asset, position, retread count, status). Non-tire parts live in the catalog as types — quantities are tracked per WO line, not per physical unit.
Can a technician add a part on the fly while logging a work order?
Yes — if their role has parts.create. The work-order line item picker has a “+ New part” affordance that opens a slim modal with the required fields (part #, description, UOM, unit cost). The part lands in the catalog with the same permissions as any other part record. If you’d rather only foremen create parts, parts.create is granular — bench techs can pick but not create.
Does this integrate with QuickBooks or NetSuite?
Not today. GL sync is V2 and we’d rather ship it right than ship it quickly. Today’s flow is: every WO line references a catalog row with a unit cost, the system rolls up spend by category and manufacturer, and you export a clean CSV your accounting team imports. If QuickBooks / NetSuite sync is a deal-breaker, talk to us — we want to know which entities and which event triggers matter most for your shape.

Clean part numbers. Per-tire history. No “miscellaneous” bucket.

14-day free trial. No credit card. UOMs seeded, sample parts loaded, a TIRE-0042 with three retreads of history already in the log — see exactly what an audit-ready tire timeline looks like.