# CMMS

> The maintenance engine - work orders, requests, preventive maintenance, inspections, parts, vendors, compliance, and costs in one loop.

Source: https://app.assetlab.ca/docs/cmms

The CMMS is where daily operations happen. Everything in this section shares one loop: work comes in, gets done against the thing it's for - an asset, a location, a system, or an infrastructure feature - and leaves behind history, costs, and condition data the planning modules feed on.

## What lives here

| Area | What it covers |
|---|---|
| [Work orders](/docs/cmms/work-orders) | The unit of work - creation to completion, views, assignment |
| [Work requests](/docs/cmms/work-requests) | Intake, triage, and live conversations with requesters |
| [Requester portal](/docs/cmms/requester-portal) | The simplified surface for non-staff reporters |
| [PM schedules & templates](/docs/cmms/preventive-maintenance) | Recurring maintenance that generates its own work orders |
| [Forms & inspections](/docs/cmms/forms-and-inspections) | Checklists and inspections attached to work |
| [Parts inventory](/docs/cmms/parts-inventory) | Stock, reorder points, and consumption |
| [Vendors](/docs/cmms/vendors) | Contractors and suppliers, with performance history |
| [Contracts](/docs/cmms/contracts) | Service agreements and their expirations |
| [Compliance](/docs/cmms/compliance) | Regulatory inspections and certificates on a clock |
| [Expenses & cost tracking](/docs/cmms/expenses-and-costs) | Where every dollar of O&M lands |

## The operating loop

1. **Intake** - a requester reports a problem, or a PM schedule fires, or staff spot something.
2. **Triage** - requests are approved and converted; priorities set.
3. **Execution** - technicians work their queue; forms capture inspection data; parts get consumed.
4. **Closure** - hours and costs recorded, photos attached; costs post to the asset automatically.
5. **Compounding** - history, condition, and spend feed [risk, FCI](/docs/asset-management/risk-and-fci), and the [replacement planner](/docs/projects/replacement-planner).

The discipline that makes it work is small: *every piece of work is a work order, and every work order points at what it's for* - asset(s), location(s), system(s), or [infrastructure feature(s)](/docs/infrastructure/features). Everything else follows from that.

## Roles in the loop

- **Requesters** submit and track their own requests - nothing else.
- **Staff** own the queue: create, execute, and complete work orders and PMs.
- **Managers** approve requests, watch dashboards, and manage vendors and contracts.

See [Roles & access](/docs/start/roles-and-access) for the full model.
