---
schema_version: "1"
id: 079d227fd33decfde7389026584a22e7d01a40a81ac4503f66f29bba39ed5f8f
title: Guidelines for Preventive Maintenance
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/service/264-0-0/fs_preventive_maintenance.md
canonical_url: https://help.salesforce.com/s/articleView?id=service.fs_preventive_maintenance.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: 097df16fa51a32462d2e3c24648b9b99abb3d3afa272a9a8b5cc461b61b2a8c4
description: To optimize technician productivity and increase uptime and mean time to failure of equipment, create preventive maintenance plans for your assets.
products:
  - Field Service
release: "264"
---
# Guidelines for Preventive Maintenance

To optimize technician productivity and increase uptime and mean time to failure of equipment, create preventive maintenance plans for your assets.

### Required Editions

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small edition"><colgroup><col></colgroup><tbody><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Available in: Lightning Experience</td></tr><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">The Field Service core features, managed package, and mobile app are available in <strong>Enterprise</strong>, <strong>Unlimited</strong>, and <strong>Developer</strong> Editions.</td></tr></tbody></table>

## Recordset Filter Criteria Fields

The fields that are available when you’re defining your recordset filter criteria are based on the filtered object: Asset or Service Appointment. The fields that are visible depend on your field-level security settings and field types. To access a calculated field that isn’t available by default, create a custom formula field for the related field.

These field types aren’t supported.

- URL
- Multipicklist
- Encrypted string
- Text area

For usage-based maintenance, there are additional considerations.

- You can use a formula to set the value of the asset field specified as the **Usage Field** in the recordset filter criteria rule. However, the asset field specified by the **Next Occurrence Field** in the recordset filter criteria rule can’t be a formula field because it’s updated by the system.
- Currency field types can’t be used to define recordset filter criteria.

## Guidelines for Using Asset Attributes and Custom Fields

You can use [asset attributes](https://help.salesforce.com/s/articleView?id=service.fs_asset_attrib.htm&release=264.0.0&type=5 "Improve asset management and help mobile workers efficiently repair and maintain assets by defining and monitoring asset attributes that represent asset health and performance. Then, define threshold monitoring based on recordset filter criteria and track threshold compliance for multiple asset attributes."), custom integrations, or custom fields to track manually maintained values in your fixed or floating preventive maintenance work orders.

![Criteria-Based Maintenance with Asset Attributes](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-service-support_field_service-264-0-0-production-enus/3f7dceb9-dd70-454a-b49e-bbb4526a158d/images/icon_example.png)

Criteria-Based Maintenance with Asset Attributes

- You set up criteria-based maintenance for an automatic door that has major maintenance performed after 60,000 activations. If you create an asset attribute to record Activation Since Custom Overhaul, you can track the number of activations on each regular maintenance visit. You can create a recordset filter criteria with a rule that activation since last overhaul is greater than or equal to 60,000. Then to generate the overhaul work orders, attach this filter to a maintenance work rule. On completion of the overhaul, the engineer sets the activation since the last overhaul back to zero.
- Also, if you create an asset attribute to track the Months Since Last Overhaul, the recordset filter criteria can generate work orders when:
    - The activation since last overhaul is greater than or equal to 60,000, OR
    - The months since last overhaul is greater than or equal to 6

Activation Since Custom Overhaul

- CriteriaField: ActivationSinceLastOverhaul
- Operator: >=
- Value: 60,000

Months Since Last Overhaul

- CriteriaField: MonthsSinceLastOverhaul
- Operator: >=
- Value: 6

## Custom Fields

Alternatively, you can use custom fields to track manually maintained values. If you have assets that provide IoT data, you can use a third-party IoT platform to update your custom asset field. If you don’t have an IoT platform, check [AppExchange](https://appexchange.salesforce.com/).

## Simulating Usage-Based Work Order Creation

To achieve usage-based work order creation using criteria-based preventive maintenance, set up a custom field and update it as the work order is completed. A work order is considered complete when its status falls into one of these status categories: Cannot Complete, Canceled, Completed, or Closed. Such custom fields can include operating hours since last maintenance or cumulative downtime since last maintenance.

## Maintenance Work Rule and Recordset Filter Criteria Object Settings

To maintain the correct function of usage or criteria-based maintenance rules, ensure that the Maintenance Work Rule and Recordset Filter Criteria objects have the same full access permissions and sharing rules.

- **[Create Criteria-Based Maintenance](https://help.salesforce.com/s/articleView?id=service.fs_rfc_create_any_criteria.htm&release=264.0.0&type=5)**  
    Create recordset filter criteria using standard or customized fields on assets to identify thresholds that trigger maintenance work.
- **[Create Usage-Based Maintenance](https://help.salesforce.com/s/articleView?id=service.fs_create_usage_based_rfc.htm&release=264.0.0&type=5)**  
    Use maintenance work rules to create work orders and schedule preventive maintenance based on asset usage.