FSM Project Record
In Field Service Management (FSM), a project provides a wider service context for a customer. Examples include a maintenance contract, warranty period, or other group of related service work. It can identify an asset and bring together cases, tasks, time, and transactions associated with that work.
FSM extends the standard NetSuite project record with Field Service fields. A subproject is a project beneath a parent project. Cases, customer relationship management (CRM) tasks, and project tasks are separate records. The project provides context, and the related records describe service requests and work to perform.
Record Information
The following table identifies the record type, FSM model, and supplied form.
|
Property |
Value |
|---|---|
|
Record type |
Standard NetSuite |
|
Record name |
Project, also called Job in NetSuite technical references |
|
Record type ID |
|
|
FSM model |
|
|
Supplied FSM form |
Field Service Project ( |
|
Record identity |
Internal ID ( |
The FSM model name project is an alias, not a different NetSuite record type. An Entity search can identify projects with the native type value Job. For native scripting and feature requirements, see Project.
Forms
The supplied Field Service Project form exposes the FSM classification, Customer and Asset links, project dates, Program values, and processing requests. Its definition marks the form as preferred and enables Store Form with Record. Project forms created in the account are separate customizations, with fields, labels, and requirements that can differ.
NetSuite uses form preferences when entering a record. A form stored with a record supplies its layout when that record is viewed or edited. For information about native form selection and storage behavior, see Custom Entry Form Properties.
The supplied FSM form marks the following fields as required:
-
Number (
entityid) -
Custom Form (
customform) -
Parent (
parent) -
Type (
custentity_nx_project_type) -
Start Date (
startdate)
Field Service Project Type is labeled Type on this form. The form requires a value, although the field definition doesn't. Customer, Asset, Assets, End Date, and the Program fields are not marked required on that form. NetSuite record validation and particular creation actions can impose additional requirements.
FSM form scripts can add a Contact selector available only during project creation, a read-only Program list, and an Add Subprojects entry list. These controls are separate from stored project fields. Each row in Add Subprojects requires Asset, Project Type, Start Date, and End Date. These row requirements don't make all four fields required on every project.
FSM Mobile uses its configured resources and creation actions. A project's stored NetSuite UI form doesn't determine every FSM Mobile field or validation requirement. A form selected to generate FSM Mobile resource fields is a separate configuration choice. For information about FSM Mobile presentation controls, see FSM Mobile Resource Properties Reference and FSM NetSuite View Configuration.
Record Relationships
Each relationship is held on the record identified in the table. Native NetSuite relationships and supplied FSM custom fields have different purposes.
|
Related record |
Relationship and field ID |
Purpose |
|---|---|---|
|
Customer |
Project Field Service Customer ( |
Keeps the service Customer available when Parent contains another project. |
|
Parent project and subprojects |
A child project stores its immediate parent in native Parent ( |
Creates the project hierarchy. A subproject remains a |
|
Asset |
Project Field Service Asset ( |
Supplies the primary equipment or service-location context used by the standard Project model. |
|
Additional Assets |
Project Field Service Assets ( |
Records a separate selection of assets. It doesn't replace the primary Asset relationship. |
|
Project Type |
Project Field Service Project Type ( |
Supplies the FSM classification used by applicable rules. |
|
Contact |
Contacts are attached to the project through native contact relationships. The FSM model reads the primary contact through |
Identifies customer contacts associated with the project, including its primary contact. |
|
Case |
Each case stores its project relationship in native Company ( |
Allows several service requests or Program occurrences to belong to one project. |
|
CRM Task |
A CRM task can identify the project through native Company ( |
Associates visits with the wider service context and, where applicable, a case. |
|
Project Task |
A project task uses its native project relationship, exposed as Company ( |
Connects native project-planning work to the project. It is separate from a CRM task. |
|
Transaction |
The transaction stores its project relationship in |
Associates sales and financial transactions with the project. |
|
Time Bill |
The time bill's native Customer/Project relationship ( |
Associates recorded time with the project, including time considered for labor-cost posting. |
|
Maintenance or Repair record |
The maintenance record stores |
Associates a service record with the project independently of its asset, case, and task links. |
|
Time Zone |
Project Field Service Time Zone ( |
Supplies service-time context for related work and Program calculations. |
FSM reconciles Field Service Customer with native Parent. When Parent identifies a project, that project supplies the Customer. Selecting an Asset can fill a blank Customer. Changing the Asset can retain an existing permitted Customer or source the Asset's Customer. See FSM Customer and Asset Selection for the form and save-time rules.
The project hierarchy is separate from the asset hierarchy. A project parent relationship doesn't provide the asset's field-inheritance behavior. Similarly, a custom record linked to a project doesn't automatically gain FSM Mobile access, history, reporting, or synchronization. Those capabilities require their own supported definitions.
FSM Fields
The following tables use the supplied English field labels. The FSM form shortens several labels, and an account can rename them without changing their field IDs.
Identity and Classification with Service Context
The following table lists project identification, classification, and service-context fields.
|
Field |
Field ID |
Purpose and important values |
|---|---|---|
|
Name / Project Name (standard) |
|
Describes the project. FSM automatic naming can replace it when Field Service Project Type is populated. |
|
Number / Project ID (standard) |
|
User-facing identifier, separate from Internal ID and Project Name. Native automatic numbering and FSM automatic naming are separate mechanisms. |
|
Field Service Project Type |
|
FSM classification. The supplied form labels it Type. Selecting native Project Type doesn't populate this field. |
|
Project Type (standard) |
|
Native NetSuite project classification. This field is separate from Field Service Project Type ( |
|
Details / Comments (standard) |
|
Project description. Configured Program mappings can carry it to new service records. It is not automatically synchronized to every related case or task. |
|
Field Service Customer |
|
Service Customer, reconciled with native Parent. |
|
Field Service Asset |
|
Primary Asset used by the standard Project model. |
|
Field Service Assets |
|
Additional Asset selections. The supplied field filter restricts choices to Assets whose Parent matches the primary Asset. This multiselect is separate from the standard model's single Asset input. It doesn't establish equivalent sourcing or Program behavior for every selected Asset. |
|
Subsidiary (standard) |
|
Project subsidiary in OneWorld. FSM uses it where the Subsidiaries feature and applicable processing require it. |
|
Currency (standard) |
|
Project currency when Multiple Currencies is enabled and can supply currency context for labor-cost journals. |
For generated names and numbering differences between basic projects and Project Management, see FSM Automatic Record Naming. Primary Contact selection and customer-contact attachment are described in FSM Contact Sourcing and Synchronization.
Project Schedule and Business State
The following table describes the project's date, time zone, and business-state fields.
|
Field |
Field ID |
Purpose and important values |
|---|---|---|
|
Start Date (standard) |
|
Native project start date. Supplies the lower date boundary for Program. Program also uses this date as the pattern's starting date when Program Start Date is blank. |
|
End Date (standard) |
|
Native project end. Can bound the initial Program schedule. It is separate from completion values on a case or task. |
|
Program Start Date / Field Service Start Date |
|
Starting date for the Program pattern. When blank, Program uses the native project Start Date. It is not a technician's actual start timestamp. |
|
Field Service Program Create Until |
|
Nonnegative integer horizon in days, relative to the time Program is assessed. A positive value supplies a rolling horizon. It is not a stored end date. The field has no supplied value. |
|
Field Service Time Zone |
|
Stored service-time context. Project sourcing can use the Asset, subsidiary, or current user's preference. It is not a live link to the source record. |
|
Status (standard) |
|
Native project business status. The FSM Project model supplies an initial In Progress value ( |
|
Inactive (standard) |
|
Native record inactivity, used by the standard Case Project selector. Separate from Program's configured inactive-status classification. |
A status labeled Closed doesn't by itself establish that Program classifies the project as inactive or that all related work has completed. Project dates and Program values are planning inputs and don't confirm that cases or tasks have been generated. See FSM Program.
Projects don't use the CRM task's four-field date/time conversion or Reserve Time restoration. See FSM Service Time Zone Sourcing and Synchronization for project sourcing and the differences between record types.
Processing Fields and Indicators
The following table describes the processing fields and indicators.
|
Field or indicator |
Field ID |
Meaning and significant update sources |
|---|---|---|
|
Field Service Update Program |
|
Requests assessment of the project's Program for eligible case additions and removals. Project change assessment, applicable case closure processing, or an explicit saved request can set it. Background assessment clears it when no eligible changes remain, including when required inputs or matching rules are absent. |
|
Field Service Update Contacts |
|
Requests attachment of missing matching customer contacts. The field definition starts unchecked. The typed project model supplies the contact-update default on its applicable initialization, type-change, and creation paths. Saving the typed project requests processing. Assessment clears the request when no matching attachments remain, including when there is no Customer. |
|
Field Service Idempotency Key |
|
Older custom creation-identity field retained for compatibility and visibility. It is not a Program-complete or labor-posting indicator. Standard FSM Mobile record synchronization uses native External ID instead. |
|
External ID (standard) |
|
Standard FSM Mobile record synchronization can store technical creation identity here with the |
|
Project processing banner |
No stored project field |
Can show assessed Contact or Program work and New Subprojects callbacks. Some entries identify outstanding work. Callbacks can carry execution status. The banner is separate from the business Status field. |
A checked request doesn't prove that a script is running. A cleared request or completed execution doesn't establish that every expected record or attachment exists. Check the resulting records and saved relationships to verify the outcome. The relevant feature topics explain selection rules and failure consequences.
Labor-cost posting has no project-level costed flag. Field Service Time Costed (custcol_nx_time_costed) is stored on each processed time bill. It is separate from the journal's approval or ledger-posting state. See FSM Project Labor Cost Posting.
Field Service Error records can identify a project through their Record Type (custrecord_nx_error_record_type) and Record ID (custrecord_nx_error_record_id), with action and deployment context where captured. These references are stored on the error record. There is no supplied project error-link field in this inventory. For error data, see FSM Error Record. For execution monitoring, see FSM Script Reference.
Creation and Update Sources
The following table summarizes how projects are created and updated.
|
Source |
Effect on the record |
|---|---|
|
NetSuite project entry or import |
Creates or updates the native project and its FSM fields, subject to the applicable form, record, and script requirements. |
|
Asset New Project button |
Opens a Project form with the Asset supplied. The project exists after saving. |
|
Automatic Project creation for a new Asset |
Requests a linked project using Item-supplied Project Type and duration, with dates resolved from the new Asset's time context. |
|
Case new-Project selection |
Requests background creation of a project, then links the case to it. Creation and the case-link update are separate operations. |
|
Project Add Subprojects |
Creates child projects from submitted rows after the parent is saved. Parent, Customer, and the submitted date and Program values provide context for the child projects. |
|
Optional FSM Mobile Add New Task action |
Can create a project before its new case and CRM task, or use an existing project. Local entry and successful NetSuite creation are separate stages. |
|
FSM record handling |
Maintains automatic naming, Customer/Parent reconciliation, time-zone sourcing, and applicable defaults. |
|
Contact and Program processing |
Maintains contact attachments and processing requests. Program creates or removes qualifying related service records. |
|
Applicable Case closure handling |
Can request Project Program assessment or close an eligible project and supply its end date under the separate automatic-closing conditions. |
Typed projects apply model defaults during initialization and validation. Ordinary non-Boolean defaults fill empty values. Boolean defaults can replace existing values. The model's expense and resource/time-entry preferences depend on the enabled NetSuite project features. These are model defaults, not universal field-definition defaults. See FSM Record Model Configuration (models/project).
Without Project Management, server-side validation of a typed project can populate its address book from the Customer, except during inline editing. Project addresses are separate from the asset's saved service address. The model reference describes the address-search configuration.
Used by FSM Features
The following table describes how FSM features use project records.
|
Feature |
How the Project is used |
|---|---|
|
Supplies service context and supports project creation, subprojects, and related-record links. |
|
|
Creates a dated project associated with a new asset, commonly for warranty context. |
|
|
Uses Customer, Asset, and Parent relationships for sourcing and reconciliation. |
|
|
Generates the Name from Project Type, identifier, and Asset. |
|
|
Attaches contacts and supplies primary-contact context for cases. |
|
|
Uses type, dates, time zone, and mapped context to calculate and request service cases. |
|
|
Sources the project time zone and uses it as a source for related work. |
|
|
Supplies project context to a report shortcut. |
|
|
Identifies eligible project time and supplies accounting context for journals. |
Record Constraints and Data Requirements
The ten supplied project custom-field definitions are not required and have no supplied selections or entered values. Their two request checkboxes start unchecked. Form requirements, model defaults, and Feature prerequisites are separate. A valid native project is not automatically eligible for every FSM capability.
Native customer-change restrictions depend on the NetSuite project mode and related activity. Basic projects retain their customer after creation. Project Management provides conditional customer-change support. FSM form handling prevents editing the Field Service Customer field when the native Parent field is absent, hidden, or read-only. Don't treat the FSM Customer field as an independent way to reparent a saved project. See Creating a Basic Project Record and Creating a Project Record.
The standard Project model's Parent mapping writes to parent but returns a blank search value. You cannot use this model attribute to retrieve the parent value from search results.
Custom links or additional asset selections don't automatically create related cases, duplicate a Program across equipment, propagate field changes, or enable editing in FSM Mobile. Use the relevant Feature and Configuration definitions for the intended behavior.