Configuring FSM Mobile Quote Management

Configure the standard Quote tab to control task availability, item choices, task context, and the actions that technicians can perform. Apply changes to the existing quote resource under the literal root JSON property "routes/mobile".

For quote selection, signing, synchronization, and transaction outcomes, see FSM Mobile Quote Management.

The following sections describe Quote configuration:

Before You Begin

Prepare the following before changing Quote configuration:

  • Access to Field Service > Administration > Configuration.

  • An FSM account with Estimates and Sales Orders enabled on the Transactions subtab of Enable Features. These are part of Field Service Management Required Features and Preferences.

  • Working FSM Mobile access for the employees and task types being configured. The FSM Mobile service must be able to read and save estimates, create sales orders when signing is used, and update the relevant cases. The standard Field Service Mobile Suitelet uses the Field Service System execution role. For supported role configuration, see Script Deployment Execution Roles.

  • Representative tasks or project tasks, customers, items, and any projects, cases, or assets used by the intended workflow. Retain the FSM body and line fields used by the standard mappings.

The standard Quote tab defines its elements directly. It does not load a NetSuite transaction form into FSM Mobile. Automatic loading of custom transaction forms is not officially supported. For more information, see FSM Mobile Feature Behavior.

Default Configuration and Choices

Standard configuration supplies the quote definition. The tab is available only when the matching task-resource rule includes quote. Defining or changing the resource does not select it for a task. The employee's matching resource rule must also load inventory, which supplies the shared orderable item list.

The standard resource allows creation, editing, and deletion through the common permission defaults. It permits multiple quotes and does not require a quote for task completion. These defaults remain subject to the quote's status, line ownership, validation, and other resource restrictions.

The following table lists standard Quote settings, their paths inside "routes/mobile", and the effects of configuration changes.

Setting

Location

Behavior and Effects

Task availability

event.article.task.resources, event.article.projecttask.resources

The first matching rule selects the task's resources. Include quote in that rule and retain its other resource IDs. Configure each event type used by the workflow.

Shared item data

user.employee.resources, inventory.element.orderable

Standard employee rules load inventory. Quote item choices reference orderable.options. Removing the shared resource can leave the Quote tab without its item data.

Permitted actions

quote.create, quote.edit, quote.delete, quote.readonly

Standard Quote leaves creation, editing, and deletion enabled through the common action defaults (true). Restrict individual Quote actions or make the tab read-only. See Permission Precedence for the shared controls.

Quote counts

quote.min, quote.max

The Quote definition omits both properties. The effective common default for each property is 0. Multiple quotes are permitted and a quote is not required for task completion. For count and completion controls, see Article Counts and Completion.

Quote selection

quote.article.filters

Selects estimates linked to the current task or project task, plus estimates matching both the current project and case. Preserve the estimate restriction and required task boundaries when changing selection.

Context during creation

quote.article.defaults and event mappings

Supplies the customer, date, and task or project task links. With Multi-Subsidiary Customer enabled, also supplies the event subsidiary. Defaults initialize estimates during creation and do not migrate existing records.

Item and quantity

quote.element.item, quote.element.quantity

Item is required and uses orderable.options. Quantity is required, uses an integer element, and starts at 1. Its minimum comes from the selected shared item option.

Description

quote.element.description.value

Uses the selected option's description. Preserve the option's description property when changing shared data.

Purchase order number

quote.element.purchaseorder

Text input with an explicit maxlength of 45. Saves to estimate otherrefnum.

Email

quote.element.sendemail, quote.element.emailto

The Send Email box is cleared by default because the checkbox element defaults to false. The Emails field is required, uses an email pattern, and initializes from event.email. The Emails field remains required when the Send Email box is cleared.

Project/case application and signing

quote.element.apply, quote.element.signature

The Apply to current Job box is cleared by default because the checkbox element defaults to false. Its saved value is read from the project relationship. The signature writes to custbody_nx_customer_signature. Updating an existing quote with a signature invokes conversion.

Use FSM Mobile Resource Properties Reference for common permissions, counts, and dependencies, and FSM Mobile Element (Block) Reference for element properties and validation.

Standard default JSON for the item, quantity, and purchase-order properties (other Quote properties are inherited):

            {
  "routes/mobile": {
    "quote": {
      "icon": "quote",
      "element": {
        "item": {
          "type": "select",
          "required": true,
          "search": true,
          "options": "orderable.options"
        },
        "quantity": {
          "type": "integer",
          "required": true,
          "value": 1,
          "min": "item.value ? orderable.options.filter(o=>{ return o.id == item.value.id })[0].min : undefined"
        },
        "purchaseorder": {
          "type": "text",
          "maxlength": 45
        }
      }
    }
  }
} 

          

Make the Quote Tab Available

Make the standard quote resource available through the matching event.article.task.resources or event.article.projecttask.resources rule. The matching employee rule must also load inventory, which supplies orderable.options. For rule selection and editing, see Selecting Resources. Configure each event type and task scenario that should offer Quote.

(Optional) To prevent quote deletion and retain inherited creation, editing, and synchronization behavior, set quote.delete to false, as shown in the following fragment.

Merge this fragment into the existing objects in your account configuration. It is not a complete replacement configuration.

            {
  "routes/mobile": {
    "quote": {
      "delete": false
    }
  }
} 

          

This fragment restricts deletion and retains the inherited article and item mappings. For JSON terminology, see Understanding the Hierarchy.

Warning:

Preserve every required Quote line mapping when replacing article.map.items. An incomplete editable line collection can remove saved lines. For more information, see Mapping Table Values to Sublists.

For rule conditions and shared-data placement, see FSM Mobile Resource Selection and Shared Data.

Configure Item Choices and Task Context

Item availability normally uses the item record rather than a Quote-specific item search override.

Configure Item Choices and Task Context

  1. On the item's Field Service subtab, check Field Service Show on Mobile (custitem_nx_show_on_mobile) for active items that should appear in the standard Quote choices. See Configuring Item Records for Field Service Management.

  2. Confirm the item's sales description and minimum quantity. The shared list supplies salesdescription and uses minimumquantity, falling back to 1 when it is empty. Active discount items are included regardless of the Field Service Show on Mobile box setting. The supplied subtotal option has a minimum of 0.

For conditional configuration changes:

Configure Item Choices and Task Context

  1. If you override inventory.element.orderable.options, complete the following:

    1. Preserve each required option's id, label, description, and min.

    2. Keep the Quote expressions consistent with that list.

    3. Check the Order tab, which also uses it.

  2. If you change task mappings or defaults for quote creation, retain the context listed in the following table. Check quotes created after the change and existing quotes.

The standard shared search is not filtered by available stock or technician location.

The following table lists the task context used by Quote configuration.

Context

Quote Usage

event.customer, event.date

Customer and date during estimate creation, plus custbody_nx_customer.

event.crmtask, event.projecttask

Estimate custbody_nx_task or custbody_nx_projecttask during creation, with line custcol_nx_task or custcol_nx_projecttask.

event.asset

custcol_nx_asset during line creation.

event.internalid

Task-specific selection and line ownership checks.

event.job, event.supportcase

Additional quote selection and Apply to current Job processing. Both must match for the additional selection. The standard project task map has no case context.

event.email

Initial Emails value. The standard task map reads the case email; supply an available address in the event context, including for project tasks.

event.subsidiary

Estimate initialization during creation when Multi-Subsidiary Customer is enabled.

For search and map syntax, see FSM Searches and Field Mapping. For task-context template tags and FSM Mobile expressions, see FSM Expressions and Template Tags.

Dependencies and Customization Limits

For additional business data, prefer adding body fields or columns to the Items table using supported elements and mappings. Preserve the existing fields, defaults, validation, read-only rules, and relationship mappings. These settings support quote saving, task associations, and signed-quote conversion.

Customize the existing standard quote resource. The transaction base, estimate mappings, and specialized server synchronization work together. This combination saves estimates, applies requested relationships, converts existing signed quotes, and reloads saved values.

Warning:

Do not directly duplicate the Quote JSON under a different resource ID as a way to retain Quote behavior. The same record type or article.extend: "models/transaction" supplies neither the Quote-specific case application nor signed-quote conversion. A similar screen and a successful local save do not establish equivalent NetSuite outcomes.

Preserve the standard protections and dependencies when applying an override:

  • The article mapping makes quotes with the Processed status read-only. Line mappings make lines belonging to another task or project task read-only. Enabling resource actions does not remove those restrictions. A quote containing read-only lines cannot be deleted through the standard tab.

  • Keep existing item lines returned by the standard mapping in the submitted data. The transaction update can remove saved lines omitted from that data. Hiding a line and excluding it from the submitted mapping have different consequences.

  • Retain the body and line relationship mappings, the saved signature mapping, and the read-only Total and Status controls. These controls display saved results rather than calculated proof of a completed transaction workflow.

  • Apply to current Job uses the task's project and case where present. Project association writes the native job field when Project Management is enabled and entity otherwise. Case application updates custevent_nx_case_transaction.

  • Signing during initial creation does not invoke the standard sales order conversion branch. An update to an existing quote containing a signature does, including a previously saved signature submitted again. Do not treat a signature on another tab as the Quote conversion control.

The standard Quote tab has no currency selector or inventory-assignment controls. Quote conversion and the direct Sales Order tab are separate paths. Do not transfer the Sales Order tab's fulfillment settings to Quote. For that workflow, see FSM Mobile Sales Order Management.

Rates and Price Levels

The standard Quote tab has no rate-entry field or price-level selector. You should retain NetSuite pricing and avoid adding controls for rate entry or price-level selection, including Custom pricing. Preserve the standard saved Amount and read-only Total mappings.

Warning:

Adding pricing controls can override NetSuite-sourced pricing, including customer-specific pricing. Writable rate fields can submit blank or incorrect rates when adding or editing lines, interfering with rate sourcing or changing transaction amounts. Do not add these controls as routine Quote-tab customizations.

For the related pricing cautions, see Configuring FSM Mobile Sales Order Management. That topic distinguishes configurable standard price-level choices from unsupported Custom pricing and direct rate entry on the Sales Order tab.

When Quote Changes Apply

Changed resource and inventory definitions apply after the affected FSM Mobile configuration and data are reloaded. Defaults initialize estimates during creation and do not migrate existing estimates.

Saving the estimate, applying it to the case, creating a sales order, and reloading can succeed or fail separately. A later failure can leave an earlier change completed. Repeating a signed conversion can create another sales order. Changing configuration does not reverse these operations.

See FSM Mobile Quote Management and FSM Script Reference for synchronization and processing.

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

Restricting Quote Access

Set create, edit, or delete to false to restrict the corresponding FSM Mobile action, or set readonly to true to restrict all three. Remove quote from the matching resource rule to remove the tab. These controls do not change permissions at other NetSuite entry points.

Outstanding local Quote changes are not cancelled by a rule or permission change. Removing an override can restore inherited permissions, but does not reverse estimates, sales orders, case associations, emails, or deleted lines already produced.

Related Topics

General Notices