Time Zone

What is Time Zone Management?

Time Zone Management is a set of features that let users manage and report on work in multiple time zones. It allows users to associate Projects, Activities, and Assets to a Time Zone record which is used as a reference for all related date and time fields.

This is important because understanding when an event occurs requires knowing where it occurs. For example, a Case starting at 9:00 am AEST is 16 hours before a Case that started on the same date at 9:00 am EST. If Service Managers and Technicians in multiple time zones do not understand this, they risk arriving on site at the wrong time, missing a due date, breaching Service Levels, and overall giving a very poor customer experience.

NetSuite compounds this confusion by being inconsistent with how Date and Time fields are stored and displayed. Many Date, Time, and Date Time fields are stored as UTC values and converted to the time zone found in the current user's User Preferences before being displayed. This means users across multiple time zones that view the same record will see different dates!

Time Zone Management resolves this by adding Date and Time fields to Activity records that always display values in the time zone of the Activity, not the user.

Time Zone Record

The Time Zone record, with script id customrecord_nx_time_zone, is prefilled with 87 read only records. These records relate directly to the NetSuite supported time zones. The Internal Id and Olson fields contain the corresponding SuiteScript time zone ids.

The Olson field, with script id custrecord_nx_time_zone_olson, can be used in Save Search formulas to do time zone conversions.

Time Zone Fields

Time Zone Management adds a user selectable Time Zone List/Record field to the Asset, Project, Case, Task, and Project Task records. Parent and child records can be associated with different time zones. For example, a Project may have Cases in multiple time zones or a Case may have Tasks in multiple time zones.

Projects and Activities inherit the time zone from the parent records in ascending order. If no time zone is defined, it will inherit from the selected Asset, followed by the Subsidiary. It lastly defaults to the time zone found in the User Preferences of the current user.

Asset

The Asset time zone is populated automatically when the user enters coordinates on the form. The coordinates are used to look up the related time zone for that location and is then matched to the equivalent NetSuite supported time zone.

Project

The Project time zone is sourced automatically from the selected Asset, then Subsidiary, and lastly the User Preference.

Case

The Case time zone is sourced automatically from the selected Project, then Asset, then Subsidiary, and lastly the User Preference.

Task

The Task time zone is sourced automatically from the selected Case, then Project, then Asset, and lastly the User Preference. The deprecated Time Zone Olson text field value is kept synchronized with the Time Zone select field.

Project Task

The Project Task time zone is sourced automatically from the selected Project, then Asset, and lastly the User Preference. The deprecated Time Zone Olson text field value is kept synchronized with the Time Zone select field.

Date and Time Fields

Time Zone Management adds Start Date, Start Time, End Date, and End Time fields to the Case and Task records. While the native Start and End fields show values in the User Preference time zone, the custom fields show the equivalent values converted to the selected time zone.

When the user changes any of the native Start or End fields, the custom Start and End fields are updated and vice versa. When the record is submitted, the native and custom fields will sync, prioritizing the custom field values if defined.

Case

The End Date and Time fields are only populated when closing the Case by a completed Task.

Task

NetSuite applies validation to Task records to force them to span a single date. The validation uses the native Start and End fields and the User Preference time zone.

This becomes problematic when the user needs to schedule a Task that is valid for another time zone but spans midnight in their own time zone. For example, a user in EST would not be able to save a Task for 9:00 am - 5:00 pm AEST. The equivalent EST values, 6:00 pm - 1:00 am EST, span two days and NetSuite would throw an error when the user attempts to save.

Time Zone Management works around this validation by temporarily disabling the Timed Event checkbox and clearing the native Start and End time fields before submitting invalid Tasks. The NextService Scheduled : Time Zone Scheduled Script, with script deployment id customdeploy_nx_timezone, is then run to correct this data. The script resubmits these Tasks with Timed Event checked and restores the correct native Start and End time field values.

General Notices