Idempotency Enhancements in NetSuite Field Service Management

NetSuite's FSM 2026.1 enhances idempotency to prevent duplicate records during sync operations, ensuring data integrity.

·3 min read·21 views·NetSuite 2026.1·View Oracle Docs

Idempotency in NetSuite's Field Service Management (FSM) mobile app is crucial for maintaining data accuracy during unreliable network conditions. It ensures that only a single record is processed per unique action, preventing duplicates from repeated sync attempts or unstable connections. Starting in NetSuite 2026.1, FSM prevents duplicate records during sync through enhanced checks using the idempotency feature.

How Does Idempotency Work in FSM?

The idempotency feature ensures that when mobile users operate in areas with erratic connectivity, any resubmitted requests due to interrupted syncs are processed only once. Normally, retries can lead to duplicate records, but idempotency eliminates this issue by associating a unique key with each action.

FSM also checks the field service idempotency record (customrecord_nx_idempotency) for an active record with the same idempotency key before processing any request to create a NetSuite record. If an active field service idempotency record with the same key is found, it triggers an ARTICLE_SYNC_PENDING error, preventing the creation or updating of records until the pending window expires. An idempotency key expires after 60 seconds, allowing mobile users to retry the request afterward.

By default, idempotency runs on standard mobile tabs, including Asset, Sales Order, Inventory, Time, Expenses, Files, Notes, Task, Quote, Order, and Return. Custom tabs also require idempotency keys setup to avoid duplicate records. Additionally, FSM automatically discards expired idempotency records after 24 hours to maintain performance.

How to Set Up Idempotency for Custom Tabs?

For custom records, you'll need to manually add an idempotency field if it doesn't already exist. Here's how:

  1. Navigate to Customization > Lists, Records, & Fields > Record Types.
  2. Select the custom record type.
  3. Go to the Fields subtab and create a New Field.
  4. Define the field with a descriptive label and an ID using _idem as a suffix (e.g., custrecord_nx_abc_idem).
  5. Choose Free-Form Text as the type and ensure Store Value is selected.
  6. Save the new field.

Configuring Idempotency in FSM

  1. Go to Field Service > Administration > Configuration.
  2. In the JSON field, define idempotency for custom records by specifying the idempotencyField property with your custom field ID.
  3. Repeat for each applicable tab, then save.

Note: It's advisable to exclude the idempotency field from appearing in the mobile app using the exclude property.

Idempotency on Standard and Custom Mobile Tabs

Idempotency runs automatically for all mobile tabs that create new records, including custom tabs. You don't need any additional setup.

Idempotency Field Changes

  • As of FSM version 2026.05.1, FSM no longer populates the old custom idempotency fields.
  • FSM stores the idempotency key in the External ID for both existing and new NetSuite accounts.
  • FSM adds the fsm_ prefix to idempotency keys before storing them in the External ID field.

Who This Affects

  • Developers and Administrators: involved in setting up and maintaining FSM configurations.
  • Field Service Operatives: who rely on mobile apps in areas with unstable network conditions.

Key Takeaways

  • Idempotency prevents duplicate records in FSM during repeated syncs.
  • It's automatically applied to standard tabs but must be configured for custom records.
  • Developers need to define an idempotency field and its configuration for custom tabs.
  • FSM runs checks for active idempotency records before creating or updating records, enhancing data integrity and eliminating duplicates during syncs.

Frequently Asked Questions (4)

How do I configure idempotency for custom tabs in NetSuite FSM?
You need to manually add an idempotency field to custom record types. Navigate to Customization > Lists, Records, & Fields > Record Types, select the custom record, and create a new field with a label and ID ending in '_idem'. Set the field type to Free-Form Text and ensure Store Value is selected.
What happens if an idempotency key is still active in FSM?
If a field service idempotency record with the same active key is found, an ARTICLE_SYNC_PENDING error is triggered, preventing the creation or updating of records until the idempotency key expires after 60 seconds.
Do I need additional setup for idempotency on standard mobile tabs in FSM?
No additional setup is needed for standard tabs as idempotency runs automatically for all mobile tabs that create new records, including custom tabs.
How are idempotency keys stored in FSM?
As of FSM version 2026.05.1, idempotency keys are stored in the External ID field with an 'fsm_' prefix, for both existing and new NetSuite accounts.

Weekly Update History (2)

Field Service Managementupdated

Renamed the "Idempotency" help topic to Idempotency in Field Service Management.

View Oracle Docs
Field Service Managementadded

Added the Idempotency help topic with information about adding idempotency on custom records and defining them in configuration.

View Oracle Docs
Source: Idempotency Oracle NetSuite Help Center. This article was generated from official Oracle documentation and enriched with additional context and best practices.

Was this article helpful?

More in Field Service Management

View all Field Service Management articles →

Also from NetSuite 2026.1

View all NetSuite 2026.1 changes →