Idempotency
Documentation article about Idempotency
The Idempotency feature of the Field Service Management (FSM) mobile app helps prevent duplicate records from being created during unreliable network conditions or repeated sync attempts. With the idempotency feature, the FSM mobile app makes sure resubmitted requests such as those from interrupted syncs or retries are processed a single time, so your data stays accurate. When mobile users submit records in areas with unstable connections, the same request might get sent several times, like after reconnecting or resyncing. Normally, each retry could create duplicate records for the same action. By setting up idempotency, you make sure only one record is created or updated per unique action, no matter how many times NetSuite gets the request from the mobile app.
By default, idempotency is running on all standard mobile tabs below.
Important:
FSM version 2025.10.x is currently available for early access testing in sandbox accounts.
If you've set up idempotency on any standard tab in your config, you can remove it when you update to version 2025.10.x because it's no longer needed and will be replaced by the base product behavior.
Default Tab Label
Config Section
Details
details
Asset
asset
Sales Order
salesorder
Inventory
consumables
Time
times
Expenses
expenses
Files
files
Notes
notes
Task
actions
Quote
quote
Order
order
Return
return
Any mobile tabs that aren't standard tabs need idempotency to be set up on the tab. While some custom records in your account might already have an idempotency key, it's important to ensure all custom tabs or records used by the mobile app have idempotency set up to lower the risk of duplicates.
The following custom tabs in mobile have idempotency fields, but idempotency still needs to be defined in configuration.
Custom Tab in Config
Idempotency
jobsafety
custrecord_nx_jobsafety_idem_key
newdetails
custevent_nx_idempotency_key
casessignatures
custevent_nx_idempotency_key
createchildasset
custrecord_nx_asset_idempotency_key
install
custrecord_nx_install_idem_key
repair
custrecord_nx_repair_idem_key
uninstall
custrecord_nx_uninstall_idem_key
maintenance
custrecord_nx_maintenance_idem_key
If you've created custom tabs or records in the FSM mobile app, you'll need to add an idempotency field for those records and set it as a property in the configuration.
To add an idempotency key field to a custom record:
Go to Customization > Lists, Records, & Fields > Record Types.
Click on the name of the custom record type you want to modify.
On the custom record type page, click the Fields subtab.
Click New Field to create a new custom field.
On the custom record field page, fill up the following fields:
Label: Enter a descriptive name, such as "[record name] Idempotency Key".
ID: If you leave this blank, NetSuite will create the ID automatically.
To keep things consistent, enter an ID with _idem as the suffix. The ID shouldn't contain spaces.
For example, if you have a checklist abc, enter an ID such as custrecord_nx_abc_idem.
Type: Select Free-Form Text.
Store Value: Ensure this box is checked to save your entered data.
Click Save.
To define idempotency for custom records in configuration:
Go to Field Service > Administration > Configuration.
The Field Service Configuration page opens the active configuration file.
On the JSON field, define idempotency for each custom record.
Using our sample idempotency created for the checklist abc custom record:
"tab": { ... "article": { "idempotencyField": "custrecord_nx_abc_idem" ... } }
Repeat step 2 on every tab that allows the creation of records.
Click Save.
Note:
The idempotency field doesn't need to appear on mobile, so it's best to remove it from the form or exclude it using the exclude property.
Related Topics
Configuration
Configuration File Structure
Running Searches in Config
Configuration Preview
General Notices
--- Context from https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/article_0729040307.html --- This guide helps administrators and consultants understand, set up, and troubleshoot NetSuite Field Service Management (FSM). It covers the product's architecture, configuration file structure, search syntax, configuration preview, and best practices for safe, and manageable customizations.
Field Service Management (FSM) uses a layered architecture to balance strong core features with flexible, customer-specific setup. Understanding how these layers work and how configuration fits together is key for a smooth roll-out and ongoing management.
The Two Levels of Field Service Management
There are two main levels in the FSM product, each with its own scope:
Core Product Code
Configuration Code
The core product code controls the fundamental behavior of FSM and is locked for users. The core product is installed in accounts as a NetSuite SuiteApp. Objects in the SuiteApp have an nx tag in their IDs and names starting with "Field Service."
The Confi
Weekly Update History (1)
Added the Idempotency help topic with information about adding idempotency on custom records and defining them in configuration.
View Oracle DocsWas this article helpful?