Configuring FSM Automatic Record Naming

Use FSM record model configuration to change generated names for assets, cases, projects, and CRM tasks. You can also disable automatic naming for individual record types. For naming conditions, form behavior, and the save lifecycle, see FSM Automatic Record Naming.

Before You Begin

Before changing automatic naming, complete these checks:

  • Use a role with permission to edit the Field Service Configuration record (customrecord_nx_configuration). The Administrator and Field Service Administrator (customrole_nx_nextservice_admin) roles have the Full permission level for this record.

  • Identify the record type, fields used in the naming formula, and the intended result. Formula fields and joins must be valid search columns for that record type.

  • Keep the normal FSM record processing available. The Field Service Client script (customscript_nx_client) supports form behavior. The Field Service User Event script (customscript_nx_userevent) prepares names and applies model naming after saving. Use FSM Script Reference for deployment and monitoring information.

Default Configuration and Settings

The standard product configuration supplies an automatic-name formula for each model in the following table. Each formula belongs at prototype.map.autoname inside the model root. For root placement and model structure, see Finding a Configuration Area and Where Model Settings Are Configured.

Record and Model Root

Standard Formula Inputs

Record-Data Condition

Stored Name Field

Asset (models/asset)

Item (custrecord_nx_asset_item) followed by serial number (custrecord_nx_asset_serial). If serial number is empty, use address text (custrecord_nx_asset_address_text), then selected address (custrecord_nx_asset_address).

No record-data condition

name

Case (models/case)

Case Type (custevent_nx_case_type), Case Number (casenumber), and Asset (custevent_nx_case_asset)

Case Type is selected

title

Project (models/project)

Type (custentity_nx_project_type), Number (entityid) or Internal ID (internalid), and Asset (custentity_nx_asset)

Type is selected

companyname

CRM task (models/task)

Task Type (custevent_nx_task_type), Number (custevent_nx_task_number), and Asset (custevent_nx_task_asset)

Task Type is selected

title

The supplied formulas keep the first 80 characters. The asset formula removes a matching parent Item prefix and trims the assembled name. If Number ends with : followed by the current Name, the project formula uses Internal ID. Otherwise, it uses Number.

The following table describes the available autoname settings.

Configuration Choice

Result

Omit a custom autoname override

Retain the applicable standard naming formula.

Supply a text formula mapping beginning with formulatext:

Generate the name from that formula when the record's naming conditions are met.

Set autoname to ""

Stop this model from generating an automatic name. Its normal naming component also stops preparing the Name field.

A nonempty formula result replaces a different stored name on creation or edit, including inline edit when FSM User Event processing applies. An existing manual name does not prevent replacement. Activating a configuration change does not itself rename all existing records.

Use FSM Record Model Configuration for shared model settings and Using Formulas in Maps for formula mappings. A naming formula uses NetSuite search formula syntax. It is not a form expression for FSM Mobile.

The following JSON shows the standard autoname mappings for the four record models.

            {
  "models/asset": {
    "prototype": {
      "map": {
        "autoname": "formulatext:substr(trim(regexp_replace({custrecord_nx_asset_item}, '^'||{custrecord_nx_asset_item.parent}||' : ')||' '||nvl({custrecord_nx_asset_serial}, nvl(regexp_replace({custrecord_nx_asset_address_text},CHR(13)||CHR(10),' '), {custrecord_nx_asset_address}))), 1, 80)"
      }
    }
  },
  "models/case": {
    "prototype": {
      "map": {
        "autoname": "formulatext:substr({custevent_nx_case_type}||' '||{casenumber}||' '||{custevent_nx_case_asset}, 1, 80)"
      }
    }
  },
  "models/project": {
    "prototype": {
      "map": {
        "autoname": "formulatext:substr({custentity_nx_project_type}||' '||(case when {entityid} like '% : '||{companyname} then {internalid}||'' else {entityid} end)||' '||{custentity_nx_asset}, 1, 80)"
      }
    }
  },
  "models/task": {
    "prototype": {
      "map": {
        "autoname": "formulatext:substr({custevent_nx_task_type}||' '||{custevent_nx_task_number}||' '||{custevent_nx_task_asset}, 1, 80)"
      }
    }
  }
} 

          

Name-Field Form Controls

Each record type also has a naming view: views/asset/autoname, views/case/autoname, views/project/autoname, and views/task/autoname. Their hidden property belongs directly inside the view root and defaults to false.

Setting hidden to true stops the component from preparing the Name field. It does not stop the model from generating names. The asset component can be active even when its definition is absent from standard configuration Preview. See FSM NetSuite View Configuration for these separate controls.

Important:

Use the model's empty autoname mapping to disable automatic naming. Changing form behavior alone can allow a manually entered name that FSM then replaces after saving. Retain normal name-field preparation when changing only the generated format.

Change a Naming Formula

Change a Naming Formula

  1. Go to Field Service > Administration > Configuration. The Field Service Configuration page opens the active configuration record.

  2. Record the name of the active configuration so that you can identify it when activating the replacement.

  3. In Name, enter a unique name for the revised configuration. Begin with the current product version, followed by the date in YYYYMMDD format and your initials. You can add a short description.

  4. Check the Inactive box to keep the replacement inactive during editing.

  5. On the Save list, click Save As.

  6. Click List. On the Field Service Configuration List page, check the Show Inactives box.

  7. Find the copied record and click Edit.

  8. Prepare a text formula mapping with valid fields and joins for the record type. Include the required length limit and handling for missing values. The formula must produce a usable name for records on which automatic naming is active.

  9. Change the JSON in the Editor. If you use an external editor, paste the revised JSON back into the Editor.

  10. Find or add the applicable model root from the settings table. Within its prototype.map object, set autoname to the required text formula mapping. Preserve other properties in the existing model and account configuration.

  11. Validate the revised JSON.

  12. From the Save As list, click Save.

  13. On the configuration list, clear Inactive for the revised record and check Inactive for the previous active record.

  14. Click Submit, then reopen the configuration page to confirm the intended record is active.

Example: Change the Case Name Format

The following fragment belongs at the root of the existing custom configuration. Merge this fragment with existing properties because it does not replace the complete configuration.

              {
  "models/case": {
    "prototype": {
      "map": {
        "autoname": "formulatext:substr({custevent_nx_case_type}||' #'||{casenumber}||' - '||{custevent_nx_case_asset}, 1, 80)"
      }
    }
  }
} 

            

For illustrative values of Case Type Repair, Case Number 1042, and Asset Pump A, the formula produces Repair #1042 - Pump A. The example uses different separators but keeps the same fields and 80-character limit. Automatic naming still requires a selected Case Type.

Disable Automatic Naming for a Record Type

Disable Automatic Naming for a Record Type

  1. Go to Field Service > Administration > Configuration. The Field Service Configuration page opens the active configuration record.

  2. Record the name of the active configuration so that you can identify it when activating the replacement.

  3. In Name, enter a unique name for the revised configuration. Begin with the current product version, followed by the date in YYYYMMDD format and your initials. You can add a short description.

  4. Check the Inactive box to keep the replacement inactive during editing.

  5. On the Save list, click Save As.

  6. Click List. On the Field Service Configuration List page, check the Show Inactives box.

  7. Find the copied record and click Edit.

  8. Change the JSON in the Editor. If you use an external editor, paste the revised JSON back into the Editor.

  9. Under the applicable model root, set prototype.map.autoname to the empty string "". Use models/asset, models/case, models/project, or models/task for the corresponding record type. Merge the change into the existing configuration and preserve unrelated properties.

    For example, this root fragment disables Asset automatic naming:

                      {
      "models/asset": {
        "prototype": {
          "map": {
            "autoname": ""
          }
        }
      }
    } 
    
                    
  10. Validate the revised JSON.

  11. From the Save As list, click Save.

  12. On the configuration list, clear Inactive for the revised record and check Inactive for the previous active record.

  13. Click Submit, then reopen the configuration page to confirm the intended record is active.

The supplied case and CRM task forms require a value in the Name field (title). Enter a name when automatic naming is disabled.

Disabling automatic naming retains stored names. It does not restore earlier manual names or stop other record processing. For CRM tasks, Number initialization and copy handling remain separate model behavior.

Dependencies and Limits

Consider these dependencies and limits:

  • Empty formula results: A formula mapping with a value activates the naming component even if the formula returns no name for a particular record. Model naming replaces the stored name only for a nonempty result.

  • Project numbering: NetSuite autogenerated numbering is separate from FSM automatic naming. Check it at Setup > Company > Setup Tasks > Auto-Generated Numbers when choosing a project formula. Number (entityid) and Name (companyname) serve different purposes. Project Management changes the organization of project lists and numbering sequences. The FSM formula uses the same field IDs in either mode. See Projects.

  • Project forms: After you disable Project Management, immediately review any custom project forms created or edited with the feature enabled. Update the forms if needed. For more information, see Enabling Project Features. Do not assume that changing a naming formula changes numbering preferences in NetSuite or form requirements.

  • Task numbering: With normal FSM model processing, an empty CRM Task Number becomes the record's Internal ID before naming. Copying a task on an FSM form clears its Number.

When Naming Changes Apply

The naming formula is used on eligible saves, including eligible edits to existing records. Automatic naming that needs the internal ID is applied after the record is saved. Configuration changes do not rename every existing record immediately.

For performance measurement and data capture, see FSM Performance and Data Collection.

Changing or Disabling Naming

Removing a custom autoname override restores the inherited formula. Setting autoname to "" disables this model's automatic naming. Changing a naming view's hidden property controls its form behavior separately.

These changes affect subsequent eligible saves and do not reverse stored names or restore previous manually entered names.

General Notices