FSM Asset Hierarchy and Inheritance
You can organize field service asset records using the parent-child hierarchy in NetSuite. Field Service Management (FSM) adds inheritance behavior to these relationships by copying configured values from a parent asset to its child assets. FSM refreshes inherited values when a child is saved and uses background processing to apply changes from a parent.
How It Works
This section explains the records and rules involved in the feature.
Asset Hierarchy and Default Inheritance
The Parent (parent) field identifies the asset from which a child inherits values. An asset can be both a child of one asset and a parent of other assets.
Field labels can be customized. The field IDs in this topic identify the fields used by FSM.
By default, child assets inherit values for these fields:
-
Customer (
custrecord_nx_asset_customer) -
Address Select (
custrecord_nx_asset_address) -
Address (
custrecord_nx_asset_address_text) -
Region (
custrecord_nx_asset_region)
Key Behaviors
This section describes how the feature responds to different conditions and actions.
Inheritance on Asset Forms
The following table describes inheritance behavior on the standard FSM asset form.
|
Condition |
Behavior |
|---|---|
|
You select a parent asset. |
FSM copies the configured inherited values from that parent and prevents editing those fields on the child. |
|
You open a child asset for editing. |
FSM prevents editing inherited fields and hides the child asset sublist when the asset has a parent. |
Inherited Values on Child Assets
FSM reads the configured inherited values from the child's immediate parent. When you save the child asset, FSM copies the parent's current values into the inherited fields, replacing any different values.
For asset field definitions and record relationships, see FSM Asset Record.
Processing Model and Lifecycle
This section explains when processing occurs and what can affect its progress and results.
Background Asset Updates
When FSM detects changes to configured inherited values on an asset, it requests background processing. The request does not require the asset to have children and also applies to assets that are both children and parents.
FSM uses the Field Service Scheduled : Asset deployment (customdeploy_nx_asset) to process these updates.
Processing searches for child assets with inherited values that differ from the values on the immediate parent. FSM saves each selected child asset to refresh its inherited values. This background search isn't restricted to the children of the asset that requested processing.
During an execution, FSM reassesses outstanding work after processing the selected updates. If the processing time or NetSuite usage limit prevents it from finishing, FSM requests another execution. Processing can therefore continue across several executions. An individual execution does not have to update every eligible asset.
The same deployment separately updates addresses and coordinates on eligible CRM tasks and project tasks following asset location changes. For that behavior, see FSM Service Locations and Geocoding.
The asset page can display an Update Child Assets message when FSM finds work to process. This check includes inheritance and task location updates. This message doesn't confirm that inheritance processing is running.
A matching unrecovered field service error record can cause a child update action to be skipped. The child can remain eligible for processing because its inherited values still differ from its parent's values.
If all selected actions are skipped because of unrecovered errors that are not eligible for retry, the execution logs Blocked and stops. This blocked outcome does not itself request another execution. A later execution can select the same outstanding work and encounter the same errors again. Selected updates with unrecovered errors can delay other eligible asset updates.
If processing reaches its time or usage limit before all selected actions have been checked, FSM can request another execution even when the actions checked so far were skipped. Repeated executions can therefore spend their processing budget checking the same outstanding work. This depends on the processing limits and time or usage consumed, rather than a fixed number of blocked records.
The end of a script execution doesn't confirm that every child was updated. To confirm an individual child's inherited values, compare those fields with the values on its parent. For shared execution limits, rescheduling, and monitoring, see FSM Script Reference. For the captured error information and its meaning, see Field Service Error Record.
Asset Inheritance Configuration
The inherited-field list is part of the FSM configuration. This list determines which fields are sourced from the parent and compared during background processing. For setup, examples, and configuration checks, see Configuring FSM Asset Hierarchy and Inheritance under FSM Configuration → Configuring FSM Features.
The default list doesn't include Latitude (custrecord_nx_asset_latitude), Longitude (custrecord_nx_asset_longitude), or Time Zone (custrecord_nx_asset_time_zone). Their sourcing behavior is covered in FSM Service Locations and Geocoding and FSM Service Time Zone Sourcing and Synchronization.
FSM Mobile can show child assets of the selected task's asset. For details about child asset tabs, see Child Asset Tabs Explained.