Differences between Microsoft Project and NetSuite Projects
- Home
- NetSuite PSA Add-in for Microsoft Project
- Microsoft Project vs NetSuite Projects
- 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.
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) |
|