Feature · Preventive maintenance

Preventive maintenance scheduling that fits how your fleet actually runs.

Time, meter, or threshold — combine any of them. VMRS-coded task library. First-class support for multi-meter assets — reefers, excavators, PTO units, plows.

Unlimited named meters per asset VMRS hierarchy out of the box One-click Log Completion
app.fleetservice365.com/assets/TRK-42/service-reminders
TRK-42 · Freightliner Cascadia · w/ Carrier Vector reefer
asset_id · ast_8b2f · 4 meters
Odometer
84,217 mi
Engine Hours
4,521 hr
Reefer Unit
8,734 hr
PTO Hours
1,205 hr
Service reminders
4 rules · 1 overdue · 1 due soon
Valid Due soon Overdue
Oil & filter change
VMRS · 013-001-001
Meter
Odometer
every 5,000 mi
Due soon in 78 mi
Air filter replacement
VMRS · 042-002-007
Meter
Engine Hours
every 500 hr
Valid in 142 hr
Reefer drive belt
VMRS · 091-014-022
Meter
Reefer Unit
every 500 hr
Overdue 23 hr over
Annual DOT inspection
VMRS · 014-001-001
Time
every 365 d
Valid in 47 d
Log completion auto-fills meter readings · closes the reminder 3-tier due-soon fallback active
What's broken today

PM scheduling tools that don't fit anything past a sedan.

01
One-meter assets are a myth.

A reefer tractor has two engines. An excavator has three hour meters that drive three different PMs. SMB tools collapse this into a single odometer field — and your reefer PMs end up in a spreadsheet next to the actual product.

02
Threshold or interval? Most tools don’t tell you the difference.

Set “100,000” as a threshold on an odometer and you’ve configured a permanently-overdue reminder. The product should teach you which rule to use — not just hand you a checkbox and walk away.

03
VMRS exists for a reason.

Enterprise tools ship hierarchical maintenance codes because they drive real diagnostics and service-history reporting. SMB tools flatten the standard into a list of free-text strings, and your roll-ups die with it.

What's behind it

Schedule it. Track it. Close it from the same screen.

Service Tasks is the library; Service Reminders is the engine; Meters is the foundation. Every PM is anchored to a task template and a target meter — the same shape the API returns and the AI assistant queries.

Service Tasks library
Tenant-wide VMRS-coded templates. Arbitrary-depth subtasks, parts + labor estimates, warranty period, GL code, capitalized flag.
/maintenance/tasks
Service Reminders
Per-asset rules. Time + meter + threshold strategies stack on the same reminder. No "pick one and live with it."
/assets/{id}/reminders
First-class asset meters
Unlimited named meters per asset. Odometer, Engine Hours, Reefer, Hydraulic, PTO, Plow — each PM rule targets the right one.
/assets/{id}/meters
VMRS seed · auto-installed
~10 categories, ~30 systems, ~80 assemblies pre-installed on every new tenant. Edit, fork, extend — but never start blank.
/maintenance/vmrs
Three-tier due-soon
Per-reminder override → tenant default → coarse status. Reminders flip valid → due_soon → overdue with a chip you can sort and filter.
/admin/maintenance-defaults
One-click Log Completion
Opens the Service Entry form pre-filled with the asset, task, and current meter readings. Save closes the reminder — no double entry.
/service-entries/new?from=reminder
VMRS seed · sample
~80 assemblies pre-installed — every one editable, forkable, extendable.
showing 12 of 80 · category → system
011-000 Air intake 013-001 Lubrication 013-002 Timing 014-001 DOT inspection 042-002 Filters 050-007 Brake system 062-012 Tires 071-005 Electrical 091-014 Refrigeration 103-002 Hydraulics 141-008 Plow assembly 160-001 PTO
Deep dive · 01 Shipped

VMRS-style hierarchical codes, in the SMB tier.

Three levels: Category → System → Assembly. Mirrors the VMRS standard used in commercial trucking and industrial fleets. Only enterprise tools — RTA, Dossier, Chevin — ship this. SMB tools collapse it into a flat list of strings.

  • Pre-seeded on every new tenant. ~10 categories, ~30 systems, ~80 assemblies installed the moment you sign up. 013-001-001 is “Oil & filter change” out of the box — no setup hour.
  • Arbitrary-depth subtasks per template. “Replace oil filter” can have its own children: inspect O-ring, torque to 14 ft-lb, log to HAZMAT register. Checklists nest as deep as the technician needs.
  • Parts and labor estimates baked in. A template can link parts from inventory with quantities, and quote labor hours at your shop rate. Work orders inherit the estimate.
  • Warranty period + mileage thresholds. “12 months or 25,000 miles, whichever comes first” — captured on the template, evaluated against the asset's meter at completion. Warranty claims stop being archaeological.
  • GL code + capitalized flag on every template. Accounting hooks for service-entry posting. AP doesn't have to guess whether a transmission rebuild is R&M expense or capitalized as an asset improvement.
  • Real fleet managers recognize the depth. The first time someone with an RTA or Dossier background sees the tree, they stop asking whether you're “just another Fleetio.”
Service tasks · library
~80 assemblies · pre-seeded
011-000 Air intake 6
013-000 Engine 14
013-001 Lubrication system 4
013-001-001 Oil & filter change
013-001-002 Oil pan gasket
013-001-003 Oil cooler
013-002 Timing components 3
014-000 Inspections 8
042-000 Filters 5
091-000 Refrigeration unit 9
Selected template
013-001-001 Oil & filter change
Category Engine · System Lubrication · Assembly
Subtasks · arbitrary depth
Drain oil & dispose per HAZMAT log
Replace oil filter
Inspect filter housing O-ring
Torque to 14 ft-lb
Refill 13 qt 15W-40 CK-4
Reset oil-life monitor
Parts & labor
$87.40 · 0.75 hr
3 parts pre-linked
Warranty
12 mo · 25,000 mi
whichever first
GL code
6420 · R&M expense
accounting hook
Capitalized
Off
expensed in period
New service reminder
TRK-42 · reefer tractor
4 meters available
Service task
091-014-022 Reefer drive belt VMRS · 091-014-022
Schedule strategy · combine any
Time-based
every N days
Meter-based
every N units
Threshold
when value < X
Target meter per-asset, unlimited
Odometer
current · 84,217 mi · tractor
Engine Hours
current · 4,521 hr · tractor
Reefer Unit
current · 8,734 hr · refrigeration
SELECTED
PTO Hours
current · 1,205 hr · auxiliary
Interval
500 hr on Reefer Unit
Next due
9,234 hr · Reefer
≈ 6 wk at current usage
Reefer PMs roll up to Reefer Unit, not the tractor odometer.
Deep dive · 02 Shipped

Multi-meter PM scheduling, done right.

Pick which meter each rule runs against. A reefer tractor runs on four — and every PM lives on the right one. Reefer PMs never get lost in tractor mileage rollups, and an excavator's hydraulic-pump PM never fires off engine hours.

  • Unlimited named meters per asset. Odometer, Engine Hours, Reefer Unit, Hydraulic Pump, PTO, Plow Hours — or anything you name yourself.
  • Worked example · a reefer tractor.
    • · Oil change every 5,000 mi on Odometer
    • · Air filter every 500 hr on Engine Hours
    • · Reefer belt every 500 hr on Reefer Unit
    • · PTO inspection every 250 hr on PTO
  • Threshold rules for non-time, non-meter values. Battery SoH below 80%, brake-pad wear below 3 mm, tire tread below 4/32" — the same Service Reminders surface, on a value that isn't time and isn't a meter tick.
  • Stack strategies on one reminder. “Annual safety and every 25,000 miles, whichever comes first.” Time and meter on the same rule; first one trips the chip.
Worked example

The 100,000-mile timing belt.

Say you need to replace a timing belt at 100,000 miles. In an SMB tool that only exposes a “threshold” field, here's what happens — and how FS365 handles the same intent.

The SMB-tool trap
Meter ≥ 100,000
Set “100,000” as a threshold on the odometer.
odometer: 102,438 mi
rule: when odometer ≥ 100,000
status: overdue · forever
A monotonic meter only crosses 100,000 once and never goes back. The reminder fires once — then sits at overdue for the next 400,000 miles.
FS365 · one-time meter target
One-time @ 100,000
Set a meter target with fires once at 100,000 mi.
odometer: 102,438 mi
rule: one-time at 100,000 mi
status: completed · closed
The reminder fires once when the meter crosses 100,000. Log completion closes it. No phantom overdue, no permanent red chip in your dashboard.
The product teaches you which rule to use. Pick “Threshold” on a monotonic meter and FS365 surfaces an inline hint: “This meter only crosses {value} once. Did you mean a one-time meter target?” No checkbox sprawl, no permanently-overdue dashboard.
Compare

Fleet Service 365 vs. AUTOsist.

Where PM scheduling diverges — and why the difference matters once you put more than a pickup on the line.

Capability Fleet Service 365 AUTOsist
Time + meter + threshold (any combination) Time + meter only
Multi-meter per asset Single odometer
VMRS-style hierarchical codes Flat task list
Arbitrary-depth subtasks on templates
Warranty period + mileage on templates
Log Completion auto-opens Service Entry Separate flow
Threshold rules for SoH · brake wear · tread
See full comparison → Comparison based on publicly listed AUTOsist capabilities as of May 2026.
Use cases

Three fleets, three meter shapes, one PM engine.

Logistics · multi-meter
Frosty Logistics’ 40 reefer tractors.
Tractor PMs run on the Odometer. Reefer PMs run on the Reefer Unit hour meter. The spreadsheet retires. Reefer belts get changed when they’re actually worn — not when the tractor hits a mileage band.
Assets · 40 tractors Meters / asset · 4 Spreadsheets retired · 1
School district · time + meter
Winterizing 80 buses.
Time-based annual safety inspection on every bus. Meter-based brake PM on the high-mileage routes. Threshold-based tire-tread alert below 4/32". One reminder per bus, three strategies stacked.
Assets · 80 buses Strategies · all 3 Cadence · annual + meter
Construction · hour meters
A contractor with mixed yellow iron.
Excavator hydraulic-pump PM on Hydraulic Pump hours. Swing-bearing greasing on Engine Hours. Undercarriage inspection on Track Hours. Three different PMs on the same excavator, on three different meters — never collide.
Assets · 12 excavators Meters / asset · 3 PM collisions · 0
FAQ

Questions we hear a lot.

What’s the difference between a meter-interval rule and a threshold rule?
A meter-interval rule fires every N units on a meter — “every 5,000 miles.” Once you complete it, the next due is current + N. A threshold rule fires when a value crosses a line and stays past it — “battery SoH below 80%.” Thresholds are for non-monotonic values that can recover (state of health, brake wear after a pad swap). On a monotonic meter like an odometer, a threshold creates a permanently-overdue reminder — FS365 nudges you toward a one-time meter target instead.
Can I set a one-time alert for a timing belt at exactly 100,000 miles?
Yes — use a one-time meter target. The reminder arms at 100,000 mi on the Odometer, fires once when the meter crosses, and closes automatically when you log completion. It never re-arms and never sits at “overdue forever” the way a poorly-configured threshold does.
How does Log Completion close out a reminder?
Clicking Log Completion on a reminder opens the Service Entry form pre-filled with the asset, the linked task, and current meter readings. When you save, the entry posts to service history, the meter readings update, and the reminder snaps forward to its next due — current + interval. No double entry, no “did I close that reminder?”
Can I have multiple PMs on the same asset that use different meters?
Yes — that’s the whole point. A reefer tractor runs four meters: Odometer, Engine Hours, Reefer Unit, PTO Hours. Each PM rule targets a specific meter. Reefer-side PMs roll up on Reefer Unit hours and never leak into the tractor’s mileage band.
Do I have to set up VMRS codes from scratch?
No. A curated seed of ~10 categories, ~30 systems, and ~80 assemblies is installed on every new tenant. You start with “Oil & filter change” already wired to code 013-001-001. Edit the labels, add your own subtasks, fork templates — whatever fits the shop. Just never start blank.
Can I import my existing PM schedules from Fleetio or Samsara?
Yes. CSV import maps Fleetio’s Service Reminders, Samsara’s Vehicle Maintenance, AUTOsist’s reminders, and a generic spreadsheet shape onto Service Reminders + Service Tasks. The importer matches task names to VMRS codes where it can, leaves the rest unmapped for your review, and round-trips through the same JSON spec the API uses.
Does the system warn me when a PM is approaching, not just when it’s overdue?
Yes — the three-tier due-soon fallback. Set a “due soon” window on the reminder (e.g. 200 mi out, or 7 days out), or fall back to the tenant default, or fall back to a coarse status. Reminders flip valid → due_soon → overdue, each with a sort-and-filterable chip on every list page.

Every meter, your way. Every PM, on the right one.

14-day free trial. No credit card. Sample tenant pre-loaded with a reefer tractor, an excavator, and a school bus — three different meter shapes, three different PM strategies.