Skip to content

Differences between Microsoft Project and NetSuite Projects

Overview

There are fundamental differences between NetSuite SRP Projects (NetSuite) and Microsoft Project (MSP). The NetSuite SRP Add-in for Microsoft Project (add-in) cannot account for all these differences. For the best results, using Microsoft Project in a manner that most closely resembles the features supported by NetSuite will give you the best changes of achieving your desired results.

For some additional insight to how Microsoft Project schedules tasks, visit:

How Project schedules tasks behind the scenes

Calendars

Microsoft Project

Microsoft Project has three types of calendars – Project, Resource and Task.

  • Project calendars – if there are no resources assigned to the task, and the task does not have a task calendar assigned to it, the task is scheduled based on the project calendar.
  • Resource calendars – When resources are assigned to a task, the task is scheduled based on the resource calendar(s).
  • Task calendars – Generally used to define working times for tasks that fall outside the working times of the project calendar. If the task has a task calendar assigned, but no resources, then the task calendar is used to schedule the task. If the task has a task calendar assigned, and also has resources assigned, then the task is scheduled based on overlapping working time of the two calendars, unless the task option “Scheduling ignores resource calendars” is checked, then the task is scheduled based on the task calendar.

NetSuite

NetSuite schedules all tasks based on resource calendars only. There is no Project-level or Task-level calendar support.

Note: You can schedule tasks in NetSuite that do not have assignees, but still have an estimated work value. When this happens, the task is scheduled based on the work calendar that is marked as the Default Calendar. If the Default Calendar changes (i.e. either a different work calendar is marked as the Default Calendar or the working time of the current Default Calendar is changed), then the schedule of the task will adjust to match the next time an task in the project is edited.

Uploading with the Add-in

  • Tasks with resources: before a project is uploaded into NetSuite, the add-in will verify that all resources in MSP also exist in NetSuite. The add-in also makes sure that the calendar (Working Time) used by the resource matches the Work Calendar configured for the resource in NetSuite. This ensure that the working and non-working time assigned to a resource is the same between MSP and NetSuite. These types of tasks are uploaded into NetSuite with the resources assigned to the task, each with the amount of work assigned per resource in MSP.
  • Tasks without resources: the task is uploaded without any assignment, and the work column is used to set the estimated work in NetSuite. NetSuite will auto-schedule those tasks based on the Default Calendar defined in NetSuite.
  • When an MSP project is “converted” to a NetSuite-compatible project, the NetSuite default project is downloaded in MSP and the current project calendar is set to use that newly created calendar.

Task Types

Microsoft Project

Microsoft Project has three task types – Fixed Units, Fixed Work and Fixed Duration:

In a: If you revise units: If you revise duration: If you revise work:
Fixed units task Duration is recalculated Work is recalculated Duration is recalculated
Fixed work task Duration is recalculated Units are recalculated Duration is recalculated
Fixed duration task Work is recalculated Work is recalculated Units are recalculated

For some examples on using the different tasks types, visit:
How do task types affect the schedule?

NetSuite

Tasks in NetSuite behave like MSP fixed units tasks. When you change the units of a resource that is assigned to a task, the duration of the task changes. For example, if employee A is assigned to a task at 100% with 8 hours of work, that task would take 1 day to complete (assuming 8-hour days). If you change the units for employee A to 50%, the duration of the task would take 2 days.

Uploading with the Add-in

Setting all your tasks in NetSuite as fixed units is your best option. By default, the add-in will use the task’s work column value as the estimated (or planned) work when creating tasks in NetSuite. By using fixed units as the task type in MSP, any change in duration will adjust the work accordingly.

The add-in does provide the option to use the duration column for setting the estimated work field in NetSuite. The “Task Work Column” option can be changed by clicking on the NetSuite Properties button, then click on the NetSuite tab. When this option is set to “Duration”, the add-in will convert the duration to hours and use that value as the estimated (or planned) work in NetSuite. This option applies to all tasks in a project – you cannot apply this to only certain tasks.

Automatic vs. Manual Scheduling

Microsoft Project

Microsoft Project allows you to schedule tasks either manually or automatically.

Manually scheduled tasks can be placed anywhere on the schedule and MSP won’t move it. Task constraints are ignored. Predecessors are only taken into account when they are first applied to the task but ignored if their own schedules change. The Work value is calculated based on the start and end dates, and the amount of available working time in the task or resource calendars assigned to the task.

Auto scheduled tasks allows MSP to calculate the optimal schedule. All task types, constraint types are considered, along with predecessors. This is the classic way to schedule projects.

NetSuite

NetSuite only supports auto scheduled tasks.

Uploading with the Add-in

When the add-in encounters a manually scheduled task, it creates a task in NetSuite with the Fixed Start constraint type. If the MSP task has any predecessors assigned, they will also be assigned in the NetSuite task, but like MSP, NetSuite will ignore the predecessor when scheduling.

When the add-in encounters an auto scheduled task, the task constraints are mapped as detailed in the section Task Constraints.

Task Constraints

Microsoft Project

There are eight task constraints in Microsoft Project:

Constraint Type Constraint Name Description
Flexible As Late As Possible (ALAP) Schedules the task as late as possible with the task ending before the project ends and without delaying subsequent tasks. This is the default constraint for tasks when you schedule from the project finish date. Do not enter a task start or finish date with this constraint.
Flexible As Soon As Possible (ASAP) Schedules the task to begin as early as possible. This is the default constraint for tasks when you schedule from the project start date. Do not enter a start or finish date with this constraint.
Semi-Flexible Start No Earlier Than (SNET) Schedules the task to start on or after a specified date. Use this constraint to ensure that a task does not start before a specified date.
Semi-Flexible Finish No Earlier Than (FNET) Schedules the task to finish on or after a specified date. Use this constraint to ensure that a task does not finish before a certain date.
Semi-Flexible Start No Later Than (SNLT) Schedules the task to start on or before a specified date. Use this constraint to ensure that a task does not start after a specified date.
Semi-Flexible Finish No Later Than (FNLT) Schedules the task to finish on or before a specified date. Use this constraint to ensure that a task does not finish after a certain date.
Inflexible Must Finish On (MFO) Schedules the task to finish on a specified date. Sets the early, scheduled, and late finish dates to the date that you type and anchors the task in the schedule.
Inflexible Must Start On (MSO) Schedules the task to start on a specified date. Sets the early, scheduled, and late start dates to the date that you type and anchors the task in the schedule.

NetSuite

NetSuite only has three task constraints:

Constraint Type Constraint Name Description
Flexible As Soon As Possible (ASAP) For forward scheduled projects, NetSuite calculates the earliest possible start date for a task based on existing predecessors and sets the end date based on the available work time in the assigned resource’s work calendar.
Flexible As Late As Possible (ALAP) For backward scheduled projects, NetSuite calculates the latest possible end date for a task based on existing predecessors and sets the start date based on the available work time in the assigned resource’s work calendar.
Inflexible Fixed Start The task starts on the date you specify. Predecessor relationships are ignored. The task end date is based on the estimated work for the task and the assigned resource’s available work time.
Semi-Flexible Finish No Later Than (FNLT) This isn’t listed as a constraint type in NetSuite, but it is a task field. When set, this constraint takes precedence over task relationships and start dates are adjusted accordingly.

When working with forward scheduled projects, only As Soon As Possible and Fixed Start are available. When working with backward scheduling projects, only As Late As Possible and Fixed Start are available.

Uploading with the Add-in

Currently, the add-in doesn’t support backwards scheduling. This is planned for a future release. For best results, all your MSP tasks should use As Soon As Possible, Must Start On or Finish No Later Than constraint types. The add-in converts all the MSP constraint types to one of those three options:

Microsoft Project Constraint Type NetSuite Constraint Type
As Soon As Possible As Soon As Possible
As Late As Possible As Soon As Possible
Start No Earlier Than As Soon As Possible
Start No Later Than As Soon As PossibleCC
Finish No Earlier Than As Soon As Possible
Must Start On Fixed Start
Finish No Later Than Finish No Later Than
Must Finish On Finish No Later Than

Note – when the add-in supports backwards scheduling, the above conversions will be expanded to include mapping to NetSuite’s As Late As Possible constraint.

Predecessors

MSP uses the project calendar for calculating predecessor lead and lag values (i.e. how many hours in a day, how many working days in a week/month/year, etc.)

Estimated vs. Planned Work

NetSuite has a feature called “Planned Work” that can be enabled for your account. Enabling this feature changes how the MSP task work is mapped. The add-in will automatically detect if your account has this feature enabled. If the feature is enabled, the work value is mapped to the NetSuite task’s planned work field. If the feature is not enabled, the work value is mapped to the NetSuite task’s estimated work field.

Troubleshooting

Symptom Solutions
Task start or end dates don’t match (no resources assigned) Set the MSP Project calendar (Project->Project Information->Calendar) to the NetSuite Default Calendar. The NetSuite Work Calendars are added to the project by clicking NetSuite SRP->Advanced Functions->Download NetSuite Calendars.
Task start or end dates don’t match (resources assigned)
  • Set task to fixed units
  • If the MSP task has a start date that does not match it’s predec
  • Verify each MSP resource’s calendar is set to the same NetSuite work calendar as the NetSuite resource

Was this article helpful?
Dislike 0