User Tools

Site Tools


msproject_addin

Microsoft Project Add-In Utility

IPM Utilities is a set of tools created to streamline interactions between certain IPM procedures and the Microsoft Project schedule. Other useful features are included as well and are grouped separately in the 'Other Utilities' section; these are not directly involved with IPM.

1. Installation and Compatibility

The IPM Utilities are installed for all users on a computer, and the installation will require administrative privileges. The download information for the most recent version can be found below.

  • Version 20.3.9 - Released September 28, 2023
  • Download Software EXE | ZIP
  • Use Serial Number 33d5-a6ed to activate the software after launching it for the first time
  • Only compatible with MS Project 2010 or higher.

IPM Utilities in Project 2010


2. Activation

The IPM Utilities software is free but must be activated after a thirty-day trial period. This means users need to register the software with the free serial number 33d5-a6ed.

  1. Online Activation - Activate Now
    • This option requires users to enter their name, company, email address, and serial number. Use the serial number 33d5-a6ed.
  2. Offline Activation - Step 1
    • Obtain via Internet
      • Choosing this option will ask users for the same information as the online activation but open a web browser with an activation key that can be used in Step 2.
    • Obtain via Telephone or Email
      • Choosing this option opens a new window displaying a users Unique ID. Provide this to OPDEC support either by calling the phone number shown or clicking on the “Send Email” button. This button will generate an email for OPDEC support, but it must be sent by the user.
  3. Offline Activation - Step 2
    • Enter the activation key obtained in Step 1 and click the “Enter” button.
  4. Activate Later
    • Users may select this option to continue the free trial and access the utilities. If the Number of Days Remaining displays “0” then the free trial has expired, and users must activate the software to continue.

3. IPM Settings

This form is responsible for storing the field settings for the IPM Utilities. The Settings Profile Tag text box at the top of the form is used to maintain the settings between multiple Project files. Entering in a unique, identifying tag for the settings entered will tag that Project file with that profile, and in the future will load the corresponding settings. This makes transitioning between multiple Project files seamless once they have been tagged with different settings profiles. The text entered must be 255 characters or less.

The Settings form requires the user to select several fields from their Project file through the drop-down boxes provided in the Field Settings section. Each field select should correlate with its description. These options should correspond to what has already been assigned in IPM, allowing the automated processes to interact with the schedule appropriately.

If these settings are not updated or not correct, then users may experience errors while operating the utilities.


4. Import Status

This process uses a Microsoft Excel file exported from IPM to update the status of designated tasks in the Microsoft Project schedule. To accomplish this, follow these steps:

  1. Open the MS Project file that was posted to IPM for statusing.
  2. Select the “Import Status” button from the OPDEC tab
  3. Check the 'Set Phys % Complete = CAM % Complete' option if desired.
    1. This option also applies to the custom CAM completion percentage as the physical completion percentage. Doing so allows Microsoft Project to display task completion progress in the Gantt Chart view.
  4. By default, the “Override Critical Issues” checkbox is unchecked.
    1. This option allows the user to ignore critical issues found during the import and force the updates to proceed. It's advised to only check this box when the user has already reviewed the critical issues identified on a previous results report. There are however, three critical issues that no matter what option is checked, cannot be updated via the import: UIDs that no longer exist, Tasks that are now inactive, and Tasks that are now summaries. For more detail, reference the Critical Issues subsection of the Import Status Results Report documentation below.
  5. Press the “Import Status” button
  6. Select the Excel file that was exported from IPM in the file dialog prompt.
  7. The process checks to ensure a valid file was selected.
  8. The process checks for any critical issues in the status import file. Please see the Results Report section below for more detail on these issues.
  9. The import process will update the tasks as follows:
    1. Forecast starts are given a “Start No Earlier Than” constraint date equal to the forecast start date requested
    2. Forecast finishes are updated by changing the duration of the task
    3. Actual start dates are updated as requested or as originally provided from the IMS to the status instance
    4. Actual finish dates are updated as requested and the Constraint Type is removed
    5. The CAM %C field is updated as requested or as originally provided from the IMS to the status instance
    6. If requested, the physical %C is set to the CAM %C being imported
  10. The process reviews the schedule after importing the status updates. If any differences are found between the status update and the state of the schedule afterwards, they are highlighted in the Results Report. Please see the Results Report section below for more detail.
  11. The process completes. If status updates were applied, the user is notified that the process completed and that they should review the results report for any issues that occurred as a result of the status update. If critical issues were found and the “Override Critical Issues” checkbox was not checked, the user sees a notification telling them that no status updates were applied, and that critical issues were found in the results report.

4.1 Import Status Results Report

After each status import, a results report is generated. It is saved in the same directory as the status import file. This report has three sections: the status updates from the import file, the state of the IMS after the status updates are applied, and any critical issues found during the status update.


4.1.1 Status Updates From IPM

This first section of the results report provides the original data contained in the Status file exported from IPM.


4.1.2 IMS Result After IPM Status Updates

This second section shows the state of the IMS after the status updates from IPM were applied, highlighting deviations between what was requested versus the final result. This allows you to quickly see any deviations in what was requested to what the final result is. Note that this section will remain blank if critical issues were found, and the “Override Critical Issues” checkbox on the Import Status form is unchecked.

Cells highlighted in red indicate a difference between the value listed for a field in the Excel import file and the corresponding value in the IMS. When Actual Dates are highlighted in red, it typically indicates the task in the IMS is split.

The “Out of Sequence ID” column will list the Task IDs of any Out of Sequence predecessors that the current task has a relationship to. A task's predecessor is considered out of sequence by comparing the Actual Start and Actual Finish of the predecessor and current task based upon the relationship type (i.e. FS, FF, etc.). While out of sequence tasks do not necessarily indicate a problem, this and any other red indicated cells should be reviewed, understood, and resolved, if necessary, before continuing with further analysis.


4.1.3 Critical Issues

The third and final section reports any critical issues that were found before performing the status updates. By default, if any critical issues are found (with the exception of “Split Tasks Identified”), the process will not apply any status updates. If the user wants to bypass these critical issues and proceed with the status updates, checking the “Override Critical Issues” checkbox on the import form would be necessary.

No matter the “Override Critical Issues” option chosen, the import process will never update tasks that exhibit any of the following three critical issues.

  1. UID Not Found
    1. The task UID in the import file is no longer in your current schedule.
  2. Task is now Inactive
    1. The task is now inactive in the current schedule and cannot receive status (its “Active” field value is set to “No”).
  3. Task is now a Summary
    1. The task is now a summary in the current schedule and cannot receive status (its “Summary” field value is set to “Yes”).

These checks below help illuminate conditions where the IMS data has changed since being shown to the users in IPM for statusing. The term 'expected values' refers to IPM's last known “Actual Start” and “CAM % Complete” as they were provided from the IMS to IPM. These expected values are in the “IMS Info as Provided to IPM” section of the Results Report. Note that these issues are only applicable to IPM Status exports generated with IPM version 9.3.94 or later.

  1. Starting CAM %C
    1. The task's current CAM % Complete value does not match the expected value.
  2. Actual Start
    1. The task's current Actual Start value is either missing or different from the expected value.
  3. Forecast Start
    1. The task has a Forecast Start provided in the Status file, but already has an Actual Start assigned in the current schedule.
  4. Actual Finish
    1. The task's current Actual Finish value is either missing or different from the expected value.
  5. Split Task Identified
    1. The check is performed for each task after its status is updated. If the status update caused the task to split, this error will be shown.

5. Export Status

This utility exports the current status of the Microsoft Project file to a predetermined format that can then be imported into the cost system. The typical process is dictated below:

  1. Ensure the correct Settings are applied and then select the “Export Status” button from the OPDEC tab
  2. Choose from the Export Format drop-down depending on which Cost System is being utilized by the program: Deltek's MPM or IPM's Internal Cost Module.
  3. Press the Export Status button
  4. The tool will update users on the export process using the status bar on the dialog
  5. When the process completes, the resulting “.csv” file(s) will be in the same folder as the MS Project file provided, unless the “Use Custom Location for Export Files” setting is checked in the current IPM Settings profile. These files must then be handed off to finance for import into the cost system.

Please note only tasks with the following criteria are exported for status:

  1. Tasks must be Active in Project
  2. Tasks must have a Package ID
  3. Tasks must have a valid Earned Value Technique or Milestone ID.
    1. Note that tasks with an 'AE' or 'BE' Earned Value Technique are not considered valid for status exports.

5.1 Errors

The export process first validates the schedule data to ensure it can be transferred to the destination cost system without issues. Below is a listing and explanation of these errors.

  • IPM Format
    1. The assigned earned value technique of '@@@' is invalid
      • The value in the EVT field (specified in settings) did not match any expected EVT values. These are PP, 0/100, 25/75, 40/60, 50/50, PC, LOE, MW, BE, AE, and MWPC. AE (Apportioned Effort) and BE (BCWP Entry) values will not trigger this error, but they will also not be exported.
    2. Summary's Actual Finish doesn't match latest Actual Finish of its detail
      • The summary task's dates should align with the latest Finish date of its detail. If the summary is a MWPC task, please ensure that all of its children are identified appropriately with Milestone ID's and Milestone Weights. This check is primarily for catching milestone summaries that include detail tasks not part of the milestone (e.g. a summary task with 'MWPC' EVT, and six detail tasks. Four of the detail tasks are labelled as MWPC with the appropriate Milestone ID/Weight, and two are not. The two that are not could throw off the summary's actual finish calculation.).
    3. A 'MW' or 'MWPC' EVT assigned to a non-summary task
    4. Non-numeric value in CAM % Complete field
    5. Cost Contract Code field didn't contain a value.
      • This can only occur if a cost contract code is provided field in the settings. It may be looking at the wrong field or needs to be set to 'Not Applicable'.
    6. CAM % Complete is > 0 but no Actual Start given
      • A task with a CAM Percent Complete value greater than zero must also have an actual start date.
    7. Actual Finish given with CAM % Complete < 100.
      • A task must have a CAM Percent Complete value of 100 if it has an Actual Finish date.
    8. CAM % Complete = 100 but no Actual Finish given.
    9. The task has a forecast Start date prior to the Status Date.
    10. The task has a forecast Finish date prior to the Status Date.
    11. The task has an Actual Start date beyond the Status Date.
    12. The task has an Actual Finish date beyond the Status Date.
    13. Duplicate EV packages encountered
      • This error occurs if there is more than one task having the same Package ID with an EVT assigned. Either the Package ID should be changed, or there should onlyi be on task within that Package ID with an EVT.
    14. Milestone with no Milestone Weight assigned
      • Check the field identified in the settings as the Milestone Weight field.
    15. Milestone with no Work Package ID assigned
      • Check the field identified in the settings as the Work Package ID field. The Task UID in question did not have a value in that field.
    16. Milestone's Work Package ID doesn't match its summary's
      • This is a detail level task with a value in its Work Package field that doesn't match the value on its summary (parent) task.
    17. Milestone cannot have an Actual Finish if parent doesn't have Actual Start
      • A detail task cannot finish before its summary starts.
    18. Milestone cannot have an Actual Finish before its parent's Actual Start date.
      • A detail task's start/finish dates must align with its summary. Cannot finish after its summary finishes.
    19. Milestone cannot have an Actual Finish later than its parent's Actual Finish.
      • A detail task's start/finish dates must align with its summary. Cannot finish after its summary finishes.
    20. Milestone doesn't have an Actual Finish while its parent does.
    21. Milestone forecasted to finish before its parent's Start date.
    22. Milestone forecasted to finish after its parent's Finish date.
    23. Milestone not summarized by a task with EVT of MW or MWPC.
      • This is a detail task with a Milestone ID value, but whose summary does not have an EVT value of 'MW' or 'MWPC'.
  • MPM Format
    1. Work Package @@ on Task ID [###] is missing a hyphen to delineate the Milestone ID.
      • IPM updates non-weighted EVTs within MPM using its milestones. The Milestone ID that it updates is the portion of the Work Package text after the hyphen (-).
    2. Task ID [###] has an empty cost contract code field.
      • Check the field identified as the Cost Contract Code field in the IPM Settings. This field must have a value or needs to be set to 'Not Applicable' in the settings.
    3. Task ID [###] has an CAM %C > 0 but no Actual Start date.
      • The task must actually start before it earns any CAM Percent Complete.
    4. Task ID [###] has an Actual Finish yet CAM %C is not 100.
      • The task must have a CAM Percent Complete value of 100 if it has an Actual Finish date.
    5. Task ID [###] has an CAM %C of 100 but no Actual Finish date.
    6. The task has a forecast Start date prior to the Status Date.
    7. The task has a forecast Finish date prior to the Status Date.
    8. The task has an Actual Start date beyond the Status Date.
    9. The task has an Actual Finish date beyond the Status Date.

6. Export BCR

This utility is responsible for carrying BCR changes from Microsoft Project over to IPM. It accomplishes this by exporting all of the necessary information from each activity that is marked with a BCR number in the 'BCR #' field identified in the settings. The export is created in a comma-separated values text file (.csv) in the same folder location as the Project file, unless you checked the “Use Custom Location for Export Files” option in your IPM Settings profile. This file can then be uploaded into IPM.

Before the utility will allow the creation of the export file for IPM, it will first verify the integrity of the changes being made. The validation process will check for several things, but some checks are given a lower priority than others. These low priority checks will be listed as Warnings, while the urgent checks will be listed as Errors. Please see below to determine the criteria for any errors or warnings that may be received. Note that inactive tasks are not subjected to these logic tests, but they may still be exported if the BCR field values correspond.

6.1 Errors

  1. Task has EVT but no Package defined
    • All exported tasks with an Earned Value Technique must also have a Package assigned.
  2. Invalid Baseline Start
    • The activity's Baseline Start field is not recognized as a date.
  3. Invalid Baseline Finish
    • The activity's Baseline Finish field is not recognized as a date.
  4. Baseline Start must be prior to Baseline Finish
    • The activity's Baseline Start date is listed as being later than its Baseline Finish
  5. Invalid Baseline Duration
    • The activity's Baseline Duration field is not recognized as a number.
  6. Activity with an unknown, invalid EVT
    • An EVT was encountered that does not match those that are accepted by IPM. Any value in the EVT field must conform to one of the following eleven values: 0/100, 25/75, 40/60, 50/50, PP, PC, LOE, MW, MWPC, BE, or AE.
  7. Package ID does not have an EVT assigned
    • This error reports any BCR affected packages that are missing an EVT. If the reported activity is part of a summary package, be sure the summary package has the same BCR number assigned.
  8. Package ID found multiple times with an EVT assigned
    • This error reports any BCR affected packages that have more than one EVT assigned.
  9. Package ID has duplicate Milestone IDs assigned
    • This error reports any BCR affected packages that have duplicated Milestone IDs. Milestone IDs must be unique among Work Packages. Two tasks in the schedule cannot have the same Work Package value and the same Milestone ID value.
  10. Package ID cannot have spaces, commas, or apostrophes
    • This error reports any tasks associated with a Package ID containing any of the listed invalid characters.
  11. Task has a baseline duration without a Package or Exemption defined
    • The activity's Baseline Duration is not equal to 0, it is not a summary, and both the Package ID and Exemption fields are blank.
  12. Closed Task with no Actual Start, Actual Finish, or CAM %C < 100
    • Closed activities must be shown as being complete
  13. Task is assigned a Milestone ID without a Milestone Weight
    • Milestone tasks (those summarized by a parent 'MW' or 'MWPC' EVT) need both a Milestone ID and Milestone Weight value to be properly assessed by IPM.
  14. Task is assigned a Milestone Weight without a Milestone ID
    • Milestone tasks (those summarized by a parent 'MW' or 'MWPC' EVT) need both a Milestone ID and Milestone Weight value to be properly assessed by IPM.
  15. Milestone Weight value cannot exceed 16 digits and 4 decimal places
    • The milestone weight cannot be longer than 16 digits total (including digits after the decimal), and cannot have more than 4 digits after the decimal point.
  16. Activity must have an EVT of 'AE' if Base WBS provided
    • The Base WBS field is used only on Apportioned Effort EVT activities
  17. Activity with 'AE' EVT must have a value in the Base WBS field
    • Apportioned Effort activities gain performance based on the Base WBS they are apportioned to
  18. Activity with 'AE' EVT must have a Base WBS field assigned in the settings
    • Apportioned Effort activities must have a Base WBS assigned, so the setting identifying this field must be set
  19. Base WBS on 'AE' EVTs cannot be itself
    • The Package ID cannot be equal to the Base WBS for a task with an 'AE' EVT
  20. Task cannot have both an EVT and Milestone ID/Weight
  21. Detail Package ID must match its summary Package ID
    • The activity is part of the detail for a summary task tagged with the BCR number, the summary task has an EVT, and the detail task has no Package ID or a Package ID that does not match its summary's.
  22. Detail Control Account must match its summary Control Account
    • The activity is part of the detail for a summary task tagged with the BCR number, the summary has an EVT, and the detail activity has either no Control Account or a Control Account that does not match its summary's.
  23. Detail BCR # must match its summary BCR #
    • The activity is part of the detail for a summary task tagged with the BCR number, the summary has an EVT, and the detail activity has either no BCR # or a BCR # that does not match its summary's.
  24. Detail activities of a milestone summary cannot be milestones
    • The activity is a detail activity of a summary within a summary. The first summary level has an EVT of 'MW' or 'MWPC'. The summary within that summary is listed as a milestone. This activity is part of the detail for the second level summary, and it is also defined as a milestone with an ID and Weight provided.
  25. Detail tasks of a summary with a BCR # cannot be inactive.
    • The activity is a detail activity within a summary that is assigned a BCR #. All detail tasks of summary must be active.
  26. Milestone not summarized by a task with EVT of MW or MWPC
    • This is a detail task with a Milestone ID or Weight value, but whose summary does not have an EVT value of 'MW' or 'MWPC'
  27. Weighted EVT Package has no milestones defined
    • The activity is a summary with an EVT of 'MW' or 'MWPC', and it has no detail activities defined as milestones.
  28. Summary's Baseline Start date must align with its detail activities.
    • Any exported summaries must have their Baseline Start date align with the earliest Baseline Start date of its detail. The summary cannot be baselined to Start earlier than the tasks it summarizes.
  29. Summary's Baseline Finish date must align with its detail activities.
    • Any exported summaries must have their Baseline Finish date align with the latest Baseline Finish date of its detail. The summary cannot be baselined to Finish later than the tasks it summarizes.
  30. MW and MWPC EVTs must be summaries
    • These earned value techniques require earned value milestones to be identified within the schedule. This is done by using a summary activity as the work package and sub-activities as the milestones. If milestones are not requested or required within the schedule, the EVT needs to be reevaluated,
  31. Activity does not have a Control Account assigned
    • Every activity identified as part of the BCR # to export needs to have a Control Account value populated. Check the IPM Settings to ensure the Control Account field is correctly established.
  32. EVT cannot be identified at both the summary and detail level
    • This error reports any task that is assigned an EVT while already summarized by a parent task with an EVT. The error reports both the summary and detail tasks associated with the issue.

6.2 Warnings

  1. Activity name is duplicated within this BCR #
    • Activity has an EVT provided, and its Task Name is not unique among the other activities tagged with the same BCR #. This seems like it could be indicative of a problem.
  2. Milestone ID does not equal activity UID
    • This is a common convention that we recommend users follow, but it is not required.

7. Export IPMDAR

This utility provides a system to export schedule data into a valid IPMDAR deliverable known as the IPMDAR Schedule Performance Dataset. This is accomplished by inputting Contractor Information and using custom fields within the Project to provide the information required by the dataset. The combination of inputs and Project field mappings is called a Settings Profile in the tool. Once the first profile is established, the tool can automatically export schedule data into the strictly formatted JSON text files, which are then zipped into a final deliverable file.

7.1 Getting Started

Before beginning, gather the required data and ensure the schedule is updated to provide all the applicable information that's requested by the IPMDAR.

7.1.1 Prerequisite Data

  1. Contract/Contractor Information. This includes identifying information about the contract, the contract's security level, program, and point of contact for this report. See the 'Contractor Info' tab of the Settings form for a complete list.
  2. Associated Task Data. The schedule will need to use custom task fields to identify the Task Subtype, Planning Level, and other data such as the corresponding Control Account, Earned Value Technique, Work Package ID, etc. See the 'Core Field Mappings' tab of the Settings form for a complete list.
  3. Any other custom Project/Task information that could be useful. Additional information, although not specifically requested, may be provided through the Custom Project Fields and Custom Task Fields tabs of the Settings form. This is up to the user's discretion to decide what other data in the schedule could supplement the submission.
  4. The schedule must meet the following criteria for the tool to run:
    1. Must not have subprojects
    2. Must have a valid Status Date
    3. Must have a Project Start Date
    4. Must have a Project Finish Date
  5. Also, note that Inactive tasks are automatically excluded from the export. However, the tool reports active task logic as it is shown in MS Project. If active tasks are logically linked to inactive tasks, these links should be removed before exporting to avoid mentioning logic links to nonexistent tasks.

7.1.2 Settings

To get started, launch the tool from the ribbon button. Next, click on Tools → Settings to open the IPMDAR Settings window.

  • Contractor Info: Fill out all applicable fields with the appropriate Contract, Program, Disclosure, Contractor, Point of Contact, and EVMS information. Please note the following while doing so:
    1. A Security Marking designation must be provided in the Disclosure section.
    2. If a Contractor ID Code Type is provided, a corresponding ID Code must also be provided.
    3. If EVMS is accepted on your program, the date of EVMS acceptance must also be provided.

  • Custom Project Fields: This tab is optional. If there is other relevant information in the schedule that should be provided, enter that data here. There are up to ten fields available. The Field Name describes the data, the Field Value is the data itself, and the Field Comments provide additional elaboration if needed. Please note that any field names require field values and vice versa.

  • Custom Task Fields: This tab is optional. If there is custom information associated with each task, enter that data here. There are up to ten field inputs available. The specified field will be exported for each task in the schedule. Please note that any field names require field values and vice versa. If the selected Project field is a Lookup field, the “Use Lookup Desc” checkbox will become enabled. Use this option to use the Lookup field's description as its value instead of the field's item.

  • Core Field Mappings: Map each dropdown box to its applicable Project field. The Task Subtype, Task Planning Level, and On Critical Path settings are the only settings required to run the tool, although others should be given if available/applicable. The dropdowns will allow inputs from custom Text, Number, Outline Code, and Flag fields. If the selected Project field is a Lookup field, the “Use Lookup Desc” checkbox will become enabled. Checking this box will use the Lookup field's description as its export value instead of the field's item.
    • Note that there is an additional field, Task Type, exported as well. The tool automatically sets the task's Type. See the possible task types and their corresponding criteria below.
      • Task Types
        • SUMMARY - Summary field equals 'Yes'.
        • MILESTONE - Milestone field equals 'Yes'.
        • HAMMOCK - Task has no predecessors, and also has linked fields.
        • ACTIVITY - All tasks not meeting any of the other above criteria.
    • Note that the Earned Value Technique is translated from IPM's required value into the IPMDAR's required value. See how each IPM EVT value maps to the corresponding IPMDAR EVT value below ([IPM EVT] = [IPMDAR EVT]).
      • 25/75 = FIXED_X_Y
      • 40/60 = FIXED_X_Y
      • 50/50 = FIXED_X_Y
      • 0/100 = FIXED_0_100
      • PC = PERCENT_COMPLETE
      • LOE = LEVEL_OF_EFFORT
      • AE = APPORTIONED_EFFORT
      • MW & MWPC = MILESTONE - Consider using a Custom Task Field to provide Milestone Weights.
      • BE = OTHER_DISCRETE - The additional IPMDAR field, “Other Earned Value Technique” is populated with “BCWP Entry”)
      • No IPM earned value techniques will be translated to “Standards” or “Units”, which are techniques also accepted by the IPMDAR.
    • Note that due to the end points of the Critical and/or Driving path(s) being dependent on contract requirements, and subject to change during the life-cycle the contract, manual identification of the associated activities using a Flag field is required.

7.2 Running the Tool

Once a Settings Profile has been created, the export is ready to run. Simply input a valid Reporting Period End date, choose the duration unit of measure (“Days” or “Hours”), and click “Run Export”. The tool will gather the schedule data, export it to the corresponding JSON files, and then zip (compress) those files into a deliverable result. The exported files will always be saved in the same location as the schedule, unless the “Use Custom Location for Export Files” setting is checked in the IPM Settings profile.

7.3 Solving Issues

If data omissions or logical errors are found, they will be presented in a display grid after the tool is finished analyzing the schedule. Four columns of information about the issues are provided: Count, Issue Severity, Export File, and Issue Description. Note that the “Copy to Clipboard” button will copy the issue grid to the clipboard, allowing the data to be pasted into other applications such as Excel.

  • Count - Provides a row number for each issue.
  • Issue Severity - Tells the user if an issue is an error (export will not occur) or a warning (export will occur).
  • Export File - Tells the user which associated IPMDAR export file is affected by the issue.
  • Issue Description - Briefly describes the reason for the issue.

The errors must be resolved for the tool to export a result successfully. Please see below for a list of the possible errors and their resolutions.

7.3.1 Errors

  • “Invalid Task Subtype - Value must match predetermined list” - The Task Subtype field values must exactly match one of the following. Any other values will be flagged with this error message.
    • RISK_MITIGATION_TASK
    • SCHEDULE_VISIBILITY_TASK
    • SCHEDULE_MARGIN
    • CONTRACTUAL_MILESTONE
  • “Invalid Task Planning Level - Tasks with type 'ACTIVITY' must have a Planning Level value.” - The Task Planning Level field must be populated for all tasks categorized as activities. This includes all tasks that are not summaries, milestones, or hammock tasks.
  • “Invalid Task Planning Level - Value must match predetermined list.” - The Task Planning Level must also match one of the following predefined values accepted by the IPMDAR:
    • SUMMARY_LEVEL_PLANNING_PACKAGE
    • CONTROL_ACCOUNT
    • PLANNING_PACKAGE
    • WORK_PACKAGE
    • ACTIVITY
  • “The required fields (see documentation) must all be provided.” - Each task must have values for the following Project fields. Those missing one of these will be flagged with this error.
    • Start
    • Finish
    • Early Start
    • Early Finish
    • Late Start
    • Late Finish
  • “The conditional fields (see documentation) must all be provided or excluded” - Each task must either have values for all of the following fields or not have values for any of the following fields:
    • Baseline Duration
    • Start Variance
    • Finish Variance
    • Baseline Start
    • Baseline Finish
  • “Each Calendar must have at least one associated workshift - See calendar 'Calendar Name'“ - This error indicates that the calendar listed in the message ('Calendar Name') had no work shifts defined, meaning it had no default working times established for working days. A common cause of this is “24 Hour” calendars that have one shift that starts and ends at the same time (typically 12:00 AM). To resolve, use the “Change Working Time” button in Project and set work shifts for each calendar used by a task in the schedule.

7.3.2 Warnings

  • “Task Planning Level is 'PLANNING_PACKAGE' with EVT not equal to 'PP'“ - This is a warning meant to indicate a possible misidentification. The tool expects that all tasks labelled as a Planning Package in the Task Planning Level field will also be labelled as such in the Earned Value Technique field.

8. MilestonesPro to PNG

This utility provides the capability to convert images created in the software Milestones Professional from their default file format to the .png image format. This allows the files to be uploaded into IPM while retaining the image resolution.

Begin by using the Browse button next to the “Milestones Pro File Location” setting to select the folder containing the Milestones Professional files. Use the Search button to find all the Milestones Pro files available. If the “Search SubDirectories” checkbox is checked, the process finds all Milestones Professional files in every location within the initially selected folder. Click the “Stop” button to cancel the search.

Once the list displays the found Milestones Professional files, select the ones to export using the “Select” column. The “Select All” check box will deselect/select all files in the list.

Now, use the Browse button at the bottom of the form to select your export location. With the appropriate files still selected, use the Export Selected File(s) button to export them.


9. Import Baseline EV Data

This process uses a Microsoft Excel file exported from IPM to update your Microsoft Project file with earned value data.

The information being imported to your Project file represents all the EV data that was identified during the IPM baseline process. Work Package ID, Milestone ID, Milestone Weight, EVT, and schedule Exemption information is updated to the schedule to ensure a solid linking connection to the cost data.

NOTE: It is very important that this process is executed if schedule changes are to be uploaded to IPM, overwriting the schedule that is already there. Avoiding this step can cause EV information identified in IPM to be lost.


10. Export Calendars

Clicking on this utility exports your Microsoft Project file's calendar to a “*.CSV” text file that is saved in the same location as the Project file, unless you checked the “Use Custom Location for Export Files” setting in your IPM Settings profile. This text file is then uploaded into IPM to report the non-working days for the schedule.


11. Other Utility Settings

This form is responsible for storing the settings for all of the Other Utilities. These are the general-purpose tools not directly related to IPM.

Multiple settings profiles can be managed using the File options: Create, Save, Rename, and Delete. These profiles are stored on your device, independent of the Microsoft Project file.

The dropdown options should be populated with corresponding custom Project fields. These custom fields are used during the Inspect Schedule Status checks.

  • Other Utility Settings
    • CAM % Complete: This value is to represent the percent of scope that is estimated to have been completed by the CAM (Control Account Manager). Values should be reported in whole numbers (e.g., 25)
    • Empty Text Field: An unused text field is required for the process to flag which tasks triggered which Inspect Schedule checks.
    • Empty Date Field: An unused date field is required to perform calculations during the Invalid Baseline Data and Baseline Summary Alignment checks on the Inspect Schedule.
    • Major Events: Enter the field that uniquely identifies the major events in the schedule (e.g., PDR, CDR, etc.)
    • Earned Value Technique: The text field identifying the EVT of each task.
    • Exemptions (DCMA/DECM): The text field identifying any exemption values for the DCMA and DECM checks in the Inspect Schedule tool. The exempt value required is specific to the check to exempt the task from, and it will be either the DCMA 14-point number enclosed with braces or the DECM code enclosed in braces. For instance, to exempt a task from the fifth DCMA check (Hard Constraints), place a value of ”{5}” into the exemptions field. To exempt the DECM version of the Hard Constraints check, insert a value of ”{06A209a}”.
  • Other Options
    • Restore user filter after Inspect Schedule runs/closes: Indicates whether the Inspect Schedule tool will reapply whatever filter the schedule had in place previously.
    • Always Display Navigate Tasks (Restricts direct Project interaction): This option launches the Navigate Tasks form as a permanently focused window. Project cannot be used while the form is open. This enables following networks of predecessors/successors without losing focus on the Navigate Tasks form.

12. Inspect Schedule

This utility contains a series of schedule health checks broken into three categories: DCMA 14-point, DECM, and IPM. The IPM checks are designed to OPDEC's IPM software and its custom requirements, while the 14-point and DECM checks conform to DCMA's requirements.

  • Status Date - IPM recommends setting the time of day in your status date to the project's default end time. If it is not, the utility will display a warning sign next to the status date in the upper right corner.
  • Use Exemptions - If this setting is checked, exemption field values will be taken into consideration (see Exemption Field in Other Utility Settings). These exemptions will only apply to the DCMA and DECM checks, and the exempted issue count will be displayed in the “Exempt” column of the tool.

Note: Inactive tasks may be flagged as issues if using the Standard edition of Microsoft Project. The 'Active' field is only available in Project Professional, so the tool cannot distinguish between active/inactive tasks while using Project Standard.


12.1 DCMA 14-Point Checks

For convenience, we will refer to two task groups in the documentation. These are Incomplete Tasks and Total Tasks. Some checks deviate from these conventions, and these exceptions will be noted.

Incomplete Tasks: All tasks except those with the attributes below.

  • Summaries - The Summary field equals Yes.
  • LOE - The earned value technique field (provided by the user in the settings) equals “LOE”. Also, if a summary task is assigned an “LOE” EVT, its detail tasks are considered LOE as well.
  • Milestones - The Baseline Duration field equals 0.
  • Inactive - The Active field equals No.
  • Completed - The Actual Finish field does not equal NA.

Total Tasks: All tasks except those with the attributes below.

  • Summaries - The Summary field equals Yes.
  • LOE - The earned value technique field (provided by the user in the settings) equals “LOE”. Also, if a summary task is assigned an “LOE” EVT, its detail tasks are considered LOE as well.
  • Milestones - The Baseline Duration field equals 0.
  • Inactive - The Active field equals No.

Also, note that a result of “NaN” indicates that the denominator of the percentage is equal to 0, and therefore no tasks in the schedule met the criteria defined by one of the two groups above.

Check Details

  1. Missing Logic
    • Description: Identifies incomplete tasks with either no predecessors or no successors.
    • Percentage: Missing logic incomplete tasks divided by total incomplete tasks.
    • Goal: Less than or equal to 5%.
  2. Leads
    • Description: Identifies task logic links with leads (negative lag) on incomplete tasks. Negative time is not demonstrable and should not be encouraged.
    • Percentage: Lead links divided by total number of links within incomplete tasks.
    • Goal: Zero.
  3. Lags
    • Description: Identifies task logic links with lags on incomplete tasks.
    • Percentage: Lag links divided by total number of links within incomplete tasks.
    • Goal: Less than or equal to 5%.
  4. FS Relationship Types
    • Description: Identifies the number of links using the Finish-To-Start relationship on incomplete tasks. These should make up most of links in the schedule.
    • Percentage: FS links divided by the total number of links found within incomplete tasks.
    • Goal: Greater than or equal to 90% of links.
  5. Hard Constraints
    • Description: Identifies incomplete tasks with hard constraint types: Must Finish On, Must Start On, Start No Later Than, or Finish No Later Than.
    • Percentage: Incomplete tasks with hard constraints divided by total incomplete tasks.
    • Goal: Less than or equal to 5%.
  6. High Float
    • Description: Identifies incomplete tasks with a Total Slack value greater than 44 days.
    • Percentage: Incomplete tasks with high float divided by incomplete tasks.
    • Goal: Less than or equal to 5% of incomplete tasks.
  7. Negative Float
    • Description: Identifies incomplete tasks with a negative value for Total Slack.
    • Percentage: Tasks with negative float divided by incomplete tasks.
    • Goal: Zero.
  8. High Duration
    • Description: Identifies incomplete tasks within the planning period that have a Baseline Duration > 44 days.
      • The planning period is defined as 60 working days after the schedule's status date; only tasks with a Baseline Start within this period are considered.
      • This check will ignore planning packages (both summaries and their detail tasks).
    • Percentage: High duration, incomplete, not planning package tasks divided by incomplete, not planning package tasks within the planning period.
    • Goal: Less than or equal to 5%.
  9. Invalid Dates
    • Description: Identifies tasks with a Forecast Start/Finish prior to the Status Date, and tasks with an Actual Start/Finish after the Status Date.
    • Percentage: Invalid date tasks divided by total tasks.
    • Goal: Zero.
  10. Missing Resources
    • Description: This check is not applicable. IPM does not allow resources in the schedule.
    • Percentage: NA
    • Goal: NA
  11. Missed Tasks
    • Description: Identifies tasks that were supposed to finish according to their baseline but have not. These tasks have a Baseline Finish less than the Status Date and either a Finish greater than the Baseline Finish or the Actual Finish equals 'NA'.
    • Percentage: Missed tasks divided by total tasks with a Baseline Finish date less than or equal to the Status Date.
    • Goal: Less than or equal to 5%.
  12. Critical Path Test
    • Description: The goal is to test the integrity of the schedule's network logic, particularly its critical path, using the steps detailed below. Otherwise, the steps below are performed.
      • If any negative slack is found in the schedule, the test immediately fails with a notification.
      • Note: The Project Option “Calculate multiple critical paths” must be disabled (unchecked) for this check to work properly. To do this, navigate to File → Options → Advanced and uncheck this option at the bottom of the window.
        1. The major events are released. This means removing any constraints or deadlines on all tasks identified as a major event in your settings.
        2. Gather the current Project Finish date
        3. Calculate what adding 600 days to the Project Finish date will be (according to the default schedule calendar)
        4. Filter the schedule for tasks with Total Slack equal to 0, an Actual Finish equal to NA, and a Summary field value of No.
        5. Find the task within the filter criteria that has the earliest Start date.
        6. Increase this task's duration by 600 days.
        7. Check to see if the Project Finish date is equal to what we gathered in Step #2.
          • If it is not, this indicates a problem in the network logic. The entire schedule (without constraints/deadlines) should shift forward when we increase the duration of our incomplete task.
        8. The process restores all major event constraints/deadlines and resets the duration of our targeted task to its initial value.
    • Percentage: The utility will display a Pass or Fail result.
    • Goal: NA
  13. Critical Path Length Index
    • Description: The CPLI is a measure of the efficiency required to complete a milestone on time. The completion task is targeted automatically by the utility. The calculation steps are listed below.
      1. Filter the schedule for all major events (identified in your settings) that meet the following criteria: EVT is not equal to 'LOE', Actual Finish is equal to NA, and Baseline Finish is greater than the Status Date.
      2. Find the major event among the filtered list with the earliest Forecast Finish. This is our completion task.
      3. Release the major events. This removes any constraints or deadlines associated with major event tasks.
      4. Find the Critical Path Length (CPL). This is the number of working days between the Status Date and the unconstrained completion task's Finish date.
      5. Constrain the completion task to its Baseline Finish date with a Finish No Later Than type.
      6. Find the completion task's Total Float (TF).
      7. Restore the major events' constraints and deadlines.
    • Percentage: (CPL + TF) / CPL. This metric is left as a ratio instead of a true percentage.
    • Goal: Greater than or equal to 0.95
  14. Baseline Execution Index
    • Description: The BEI is a calculation of the efficiency of task accomplishment measuring against the baseline tasks. Listed below are the calculation steps followed:
      1. Filter out inactive tasks, summaries, LOE tasks, and milestones.
      2. Filter the resulting tasks down to those with a Baseline Finish less than the first day of the Status Date's month.
      3. Count and label as Baseline Count
      4. Clear filters
      5. Filter out inactive tasks, summaries, LOE tasks, and milestones.
      6. Filter for tasks with an Actual Finish less than the first day of the Status Date's month.
      7. Count and label as Actual Count
      8. Divide the Actual Count by the Baseline Count. This is the BEI.

The BEI is always shown along with the Hit Task Percentage (HTP). The HTP is displayed in the Exempt column of the utility for this check. The calculation steps for the HTP are listed below.

  1. Filter out inactive tasks, summaries, LOE tasks, and milestones.
  2. Filter for tasks within this subset having a Baseline Finish less than or equal to the last day of the Status Date's month.
  3. Count and label these as the Baseline Count
  4. Add an extra criterion to the existing filter, and filter for tasks having an Actual Finish less than or equal to their Baseline Finish.
  5. Count and label these as the Actual Count
  6. The HTP is the Actual Count divided by the Baseline Count.
  • Percentage: The BEI and HTP calculations are shown above.
  • Goal: Greater than or equal to 0.95

12.2 DECM Checks

The DECM checks in this tool are compatible with DECM version 6.0. The DECM (DCMA EVMS Compliance Metrics) include most of the Artifact 11 checks (categorized as requiring only the IMS) items with a few exceptions. Excluded checks are the ones requiring unavailable EV Percent Complete or BCWP values (“06A505a”, “06A505b”, and “10A302b”), “06A211a” which requires external contractor information, and “06A301a” which requires external supplemental schedules and MRP/ERP system data.

For convenience, when referencing “incomplete tasks” in the descriptions below, we are referring to tasks that meet the following criteria:

  • Summary - Summary field equals No.
  • Active - Active field equals Yes.
  • Incomplete - Actual Finish equals NA.

Also, note that a result of “NaN” indicates that the denominator of the percentage is equal to 0, and therefore no tasks in the schedule met the overarching criteria of the check.

  1. (06A204b) Dangling Starts or Finishes
    • Description: Identifies dangling tasks either without Predecessors, without Successors, with an Open Start, or with an Open Finish.
      • Open Start tasks have no FS or SS relationship with any of its predecessors.
      • Open Finish tasks have no FS or FF relationship to any of its successors.
      • This check will not flag tasks that are LOE, finished, un-baselined (missing Baseline Start/Finish), and the beginning/ending tasks of the schedule (identified as those with earliest Baseline Start or latest Baseline Finish).
      • Additionally, milestones, defined as tasks with zero duration, are only flagged if they do not have predecessors or successors.
      • The EVT field (identified in your Other Utility Settings) is used to determine what tasks are LOE.
    • Percentage: Dangling tasks divided by incomplete, non-LOE tasks
    • Goal: Zero.
  2. (06A205a) Use of Lags
    • Description: Identifies tasks with logic links that include lag.
    • Percentage: Lag tasks divided by incomplete tasks.
    • Goal: Less than or equal to 10%.
  3. (06A208a) Summary with Logic
    • Description: Identifies summary tasks that have either predecessors or successors.
    • Percentage: Not applicable. This check only returns the count of issues found.
    • Goal: Zero.
  4. (06A209a) Use of Hard Constraints
    • Description: Identifies incomplete tasks that utilize one of the following constraint types: Start No Later Than, Finish No Later Than, Must Start On, or Must Finish On.
    • Percentage: Incomplete tasks with hard constraints divided by incomplete tasks.
    • Goal: Zero.
  5. (06A210a) LOE Tasks with Non-LOE Successor
    • Description: Identifies any LOE tasks (including summaries) with a non-LOE successor. We define non-LOE as any task without a value of 'LOE' in the EVT field (including blanks). The EVT field is identified in the Other Utility Settings. See the EVT entry in the Glossary section of this documentation for a list of acceptable values.
    • Percentage: LOE tasks with non-LOE successors divided by total number of LOE tasks.
    • Goal: Zero.
    • Note: While LOE activities that have an end-of-project milestone as a successor are acceptable, the process does not automatically assume what the end-of-project milestone(s) are. For this reason, it may be necessary to validate/confirm issues reported as false-positives.
  6. (06A212a) Out of Sequence
    • Description: Identifies tasks that are out of sequence. Here are some noteworthy details of the check criteria:
      1. Time of day is considered when comparing dates.
      2. Leads and lags are also considered when comparing dates.
      3. Summary tasks and inactive tasks are avoided.
    • Percentage: Not applicable. This check only returns the count of issues found.
    • Goal: Zero
  7. (06A501a) Missing Baseline Start or Finish Dates
    • Description: Identifies tasks that do not have a Baseline Start or a Baseline Finish.
    • Percentage: Missing baseline date tasks divided by total tasks.
    • Goal: Less than or equal to 5%.
  8. (06A504a) Prior Month Actual Start Change
    • Description: Identifies tasks who’s Actual Start date has changed from the previous month's IMS to the current month's IMS. The user must provide the file location of the previous IMS they would like to check their current file against. Ignores only summary tasks and inactive tasks.
    • Percentage: Tasks with an Actual Start date change divided by the total number of tasks in the previous IMS with an Actual Start date.
    • Goal: Less than or equal to 10%.
  9. (06A504b) Prior Month Actual Finish Change
    • Description: Identifies tasks whose Actual Finish date has changed from the previous month's IMS to the current month's IMS. The user must provide the file location of the previous IMS they would like to check their current file against. Ignores only summary tasks and inactive tasks.
    • Percentage: Tasks with an Actual Finish date change divided by the total number of tasks in the previous IMS with an Actual Finish date.
    • Goal: Less than or equal to 10%.
  10. (06A506a) Invalid Actual Start and Finish
    • Description: Identifies tasks with an Actual Start or Actual Finish greater than the status date.
    • Percentage: Number of invalid AS/AF tasks divided by total tasks with an Actual Start date.
    • Goal: Less than or equal to 5%.
  11. (06A506b) Invalid Forecast Start and Finish
    • Description: Identifies tasks with a Forecast Start date less than the Status Date without an Actual Start, and tasks with a Forecast Finish date less than the Status Date without an Actual Finish.
    • Percentage: Invalid Start/Finish tasks divided by incomplete tasks.
    • Goal: Zero.
  12. (06A506c) Forecast Dates Riding the Status Date
    • Description: Compares the prior month's IMS to the current month and identifies tasks that move in constant proportion to the status date. The calculation steps are below.
      1. Identify all tasks, excluding summaries, in the current schedule with no Actual Start date and a Forecast Start date within three days after the Status Date.
        1. For each of these tasks, check their Forecast Start date in the Prior Month schedule. Count all tasks within three days of the prior schedule's Status Date.
      2. Identify all tasks, excluding summaries and inactive tasks, in the current schedule with an Actual Start date and without an Actual Finish date.
      3. Identify all tasks, excluding summaries and inactive tasks, in the prior month schedule with Actual Start dates.
      4. Check for any matching tasks between these two sets. For those that do, if their Remaining Duration is +/- 2 working days then these are flagged and counted as well.
      5. The issue count will be a unique combination of both sets of identified tasks.
    • Percentage: All flagged tasks divided by incomplete tasks.
    • Goal: Less than or equal to 1%.
  13. (10A303a) Do all PPs have Duration?
    • Description: Identifies planning package tasks with a Baseline Duration less than or equal to one day. Planning packages are required to have a value of 'PP' in their EVT field (defined in your settings).
    • Percentage: PP tasks with a Baseline Duration less than or equal to one day divided by total PP tasks.
    • Goal: Less than or equal to 10%.

12.3 OPDEC Checks

  1. Out of Sequence Tasks
    • This check is very similar to the DECM version. The only difference between the IPM and DECM versions is that the IPM version will look at all completed tasks.
  2. Tasks Needing Status
    • This check identifies tasks that require an updated status.
    • Other Criteria: The task is not a summary, has a Start/Finish prior to the status date, and does not have valid actual start/finish.
  3. Invalid CAM % Complete
    • This check identifies any tasks whose CAM percent complete field is not in alignment with its actual start/finish.
  4. Invalid Baseline Data
    • This checks for problematic data with Baseline fields: Baseline Start, Baseline Finish, and Baseline Duration. Since MS Project will accept ANY values as baseline start/finish/duration, this check not only ensures the finish date is after the start but also confirms that only date/number values are given (no symbols, question marks, blanks, etc.).
  5. Baseline Summary Alignment
    • This check identifies summary tasks whose detail tasks have either an earlier Baseline Start date or a later Baseline Finish date. The summaries themselves are flagged as issues.
  6. Split Tasks
    • This check identifies split tasks. These are tasks with an intermittent schedule; they stop/start work one or several times in their duration. Split tasks may cause problems when assigning Actual Start/Finish dates and can negatively affect schedule health.
  7. Effort Driven
    • This check identifies any task marked as Effort Driven.
    • Other Criteria: The task is effort driven.
  8. Unknown EVT
    • This check identifies any values in the EVT field that are not accepted by IPM. Any value in the EVT field must conform to one of the following eleven values: 0/100, 25/75, 40/60, 50/50, PP, PC, LOE, MW, MWPC, BE, or AE.
  9. Constraint on Completed Tasks
    • This check identifies any completed tasks that have a constraint applied.
    • Other Criteria: The task is not complete, has a constraint date, and is not a summary.
  10. Constraint on Summary Tasks
    • This check identifies any summary tasks that have a constraint applied.
  11. Consecutive Constraints
    • This check identifies any tasks with constraints (Constraint Type is not “As Soon As Possible”) whose successors also have constraints.
  12. SNET within 1WK of Pred Finish
    • This check identifies tasks with Start No Earlier Than constraint dates that are within 5 working days of its predecessor's finish date. These constraints can be unnecessarily causing gaps in the schedule, but they are not always a problem.
  13. SNET Not Pushing
    • This check identifies tasks with a “Start No Earlier Than” constraint whose predecessors are pushing the Start date of the task past the constraint date. These constraints do not affect the schedule.
  14. ? Durations
    • This check identifies any tasks with a question mark in its duration.
  15. Non-Fixed Duration Types
    • This check identifies any tasks that do not have a fixed duration type.
  16. Elapsed Durations
    • This check identifies any tasks that have an elapsed duration (an “e” in the duration field)
    • Other Criteria: The task has not finished.
  17. Non-Day Duration Types
    • This check identifies any tasks that have a duration specified in a different unit of measure other than days.
    • Other Criteria: The task is not a summary, does not use days as a unit of measure, and is not finished.
  18. Fractional Durations
    • This check identifies any tasks with a duration that is not a whole number.
    • Other Criteria: The task is not a summary, has not finished, and has a duration that is not a whole number.
  19. Resources Assigned in Project
    • This check identifies any tasks that have been assigned resources.
    • Other Criteria: The task contains entries for the Resource Names field.
  20. Inactive Tasks
    • This check identifies any tasks with a value of No in the Active field of Project. Note: This check only applies for Microsoft Project versions 2010 or later
  21. Manually Scheduled Tasks
    • This check identifies any tasks that have been set as manually scheduled instead of automatically scheduled. Note: This check only applies for Microsoft Project versions 2010 or later
  22. Multiple Calendars
    • This check identifies any tasks that are using a calendar that is different from the default calendar as set in Project Information.
  23. Inconsistent %C Progress
    • This check identifies tasks with a MS Project calculated '% Complete' value that does not match the manually calculated, expected value. The manual calculation is as follows: (Time between Actual Start and Status Date / Duration) * 100.
  24. Planning Package with Actual Start
    • This check identifies tasks in the schedule with an EVT of 'PP' and an Actual Start date. Note: This check ignores any tasks with 'CLOSED -' in their task name.
  25. Empty Tasks
    • This check finds all blank task lines in your schedule or 'empty tasks'. These lines are created when pressing the INSERT on the keyboard and no subsequent edits are made to the record. Since these tasks visually appear in the schedule but cannot be filtered on, clicking this check result displays its own error reporting grid that provides the Empty Task IDs, allowing for quick searches. These records can be copied to the clipboard using the button on the error grid display.
  26. Duplicate Task Names
    • This check identifies tasks whose Name value appears more than once in the schedule. All instances of the duplication are flagged as issues. For example, if five tasks all have the same name, the Issue Count of this check will be five.
  27. Multi-Level EVTs Assigned
    • This check identifies any task in your schedule that is assigned an EVT while it is summarized by a parent task that is also assigned an EVT. This check searches through all summary levels in the schedule outline, and reports both the summary and detail tasks associated with the issue.

This utility provides the capability to step through each task of predecessor to successor relationship, viewing detailed information about each task along the way.

Upon opening the utility, the currently selected task is displayed in the middle section of the screen. Its predecessors are shown above, and its successors are shown below. Navigate through a relationship by selecting the Predecessor/Successor Task Name link or double clicking anywhere in the row to load the selected task as the current task. Also, a task can be selected in Project to load it as the current task. Selecting the left arrow will navigate back to the previously selected task, while the right arrow will move the selection to back to the most recent position. A task can also be focused by entering the task ID or UID in the boxes at the top of the form and pressing the ENTER key.

All duration fields displayed are converted to day measurement units (as defined by the Hours Per Day setting in Project). Most fields shown in the Navigate Tasks window are self-explanatory; however, there are two that may require further elaboration: Gap and OoS.

The Gap field displays the duration between the relationship end of a predecessor and relationship start of its successor. The Out of Sequence (OoS) field will be filled with a red flag icon if the task's status is illogical. The criteria of the Out of Sequence check can be changed on the Settings form. The “Compare Actual dates on Out of Sequence checks” option toggles whether the OoS and Gap columns will make date comparisons between the Actual Starts/Finishes provided to ensure they are in sequence, or just accept any Actual Start/Finish provided to a predecessor/successor. The result is more precise with the option checked.


14. Milestone Set/Release

This utility consists of two tabs: Set Milestones and Release Milestones.

The Milestone Field setting indicates which field is set to identify the milestone tasks. This should be an empty text field that only has values (the value itself can be anything) entered for milestone tasks. This process does not use any settings from the Settings form.

Set Milestones
After selecting a constraint date and constraint type, click the Set Milestones button to apply those constraints to all milestone tasks.

Release Milestones
Simply click the Release Milestones button on this tab to set the constraint type of the identified milestone tasks back to 'As Soon As Possible'.


15. Find UID

Clicking the Find UID button or using the keyboard shortcut (Ctrl+Shift+F) will launch the Find UID utility. This utility will select the task UID provided, and scroll the focus of Project to the task.




16. Initialize Project

Clicking this utility simply applies the “All Tasks” filter to your Project file, opens all outline levels, and scrolls the file's focus to the first task.


17. Help

The Help button will launch this website in your default web browser. For any additional help, please email support@opdec.com


18. About

The About button will display basic information about your version of the installation as well as contact information for questions about the utilities.


19. Check for Update

The Download Update button will display a form that compares your installed version of the IPM Utilities to the version that is currently available for download. If there is a more recent version of the IPM Utilities available, the form will enable the option to download it. If not, the download button will be disabled.

Additionally, the automatic reminders about updates can be enabled/disabled through this form by toggling the check box on or off.


20. Version History

  • 20.3.9 (8/8/2023)
    1. General
      1. Updated the format of error display grids to standardize their appearance across multiple forms: Export BCR, Export Status, Export IPMDAR, and Inspect Schedule.
    2. Navigate Tasks
      1. Resolved error when opening the utility with no task selected.
    3. Inspect Schedule
      1. Renamed the “IPM” check category to “OPDEC”.
      2. Improved the Empty Tasks check's performance.
      3. Added new Check: “Multi-Level EVTs Assigned”.
    4. Export Status
      1. Updated the Task UID column to be a hyperlink.
      2. Added a new error: Duplicate EV packages encountered.
    5. Export BCR
      1. Removed warning: “Package ID not in [Control Account]-[UID] format”.
      2. Removed error: “Summary has EVT but no Control Account defined”.
      3. Added new error: “Package ID cannot have spaces, commas, or apostrophes.”
      4. Added new error: “Milestone not summarized by a task with EVT of MW or MWPC.”
      5. Added new error: “EVT cannot be identified at both the summary and detail level.”
      6. The error grid will now report the specific tasks associated with Package ID errors, instead of listing a “-1” value in the Task ID and UID columns. The errors below are affected by the enhancement.
        1. Package ID does not have an EVT assigned.
        2. Package ID has multiple EVTs assigned.
        3. Package ID has duplicated Milestone IDs assigned.
        4. Package ID cannot have spaces, commas, or apostrophes.
      7. Improved the performance of the “Validate BCR” routine when analyzing large summaries.
  • 20.3.8 (5/26/2023)
    1. Inspect Schedule
      1. Added new check: Duplicate Task Names.
      2. Added new check: Empty Tasks.
      3. The result list will no longer filter the Project file for issues with a Count of 0.
      4. Fixed issue with the High Duration DCMA 14-Point check. It will no longer flag all tasks within the 60-day planning period.
      5. Project's “Enable/Disable Macros” dialog will no longer be displayed when opening the Prior schedule during DECM checks.
    2. Export BCR
      1. Added new error: “Activity does not have a Control Account assigned”.
      2. The export now accommodates empty task lines within a Summary task marked with the target BCR #. These will be ignored.
    3. Export Status
      1. The “Export Complete!” message will no longer be shown if no data was found to export. Instead, the tool will notify the user that no status data was found.
    4. All Exports
      1. The “Use Custom Save Location” setting will now detect if an invalid path was provided when the user selects a save location.
    5. All Error Grids
      1. Added a “Copy to Clipboard” button to error display grids in the following utilities: Export BCR, Export Status, Export IPMDAR, and in the Inspect Schedule 'Empty Tasks' check. Previously, users needed to know that the error grids could be copied from using the record selectors on the grid and using the Ctrl+C copy command. This button makes that functionality more accessible and allows the user to quickly capture all relevant error information.
  • 20.3.7 (12/6/2022)
    1. Export Status
      1. Added the Cost Contract Code functionality when exporting status for IPM; was previously only available when the target export format was MPM.
    2. Export BCR
      1. The form will now always retain focus and not allow users to switch focus between the form and MS Project.
      2. Corrected issue where warnings could suppress errors if both were encountered on the same task.
      3. Now excluding inactive tasks data from the export results.
      4. Added a new check: Detail tasks of a summary with a BCR # cannot be inactive.
    3. Navigate Tasks
      1. Added functionality to store the user's sort preferences. The Predecessors and Successors grids will now retain the user's sort preferences as they navigate to new tasks.
    4. IPM Settings
      1. Added a new General Setting to allow users to select a custom location for all IPM Utilities file exports. This allows exported files to be saved to locations other than the same folder as the Project file.
  • 20.3.6 (11/3/2022)
    1. Import Status
      1. The process now produces a more detailed results report. See the Import Status documentation section for more information.
    2. Export BCR
      1. Improved the process that detects logic issues on MWPC tasks to properly accommodate for multiple sub-summaries within the parent MWPC summary.
  • 20.3.5 (9/8/2022)
    1. Export BCR
      1. Resolved scenario where the 'Package has duplicated Milestone IDs' error could have triggered on non 'MW' or 'MWPC' EVTs.
  • 20.3.4 (8/23/2022)
    1. Export Status and Export BCR
      1. Inactive tasks will no longer be evaluated while using the Standard edition of Microsoft Project.
    2. Export BCR
      1. The logic check identifying tasks missing a Milestone Weight or ID will no longer be performed if the task has an EVT.
      2. Added a new check to search for duplicate Work Package ID and Milestone ID combinations provided for the children tasks of 'MW' or 'MWPC' summaries.
    3. Export Status
      1. Improved the display of errors when encountered during the process.
  • 20.3.2 (6/3/2022)
    1. Inspect Schedule
      1. Fixed bug that occurred if the user tried to run the utility while Project was in edit mode.
    2. Other Settings
      1. Added an option to always display the Navigate Tasks utility window on top of MS Project's window.
    3. IPM Settings
      1. Added custom number fields (Number 1-20) as selection for the Change Control setting.
  • 20.3.1 (1/28/2022)
    1. Inspect Schedule
      1. DECM Check “(06A401a) Critical Path” removed.
    2. Export IPMDAR
      1. Fixed bug causing EVMS Acceptance Date to not be saved or exported to the final JSON result file.
  • 20.3.0 (11/29/2021)
    1. Inspect Schedule
      1. DCMA “High Duration” check updated to limit the denominator of the check to the planning period.
      2. DECM Check “(06A204b) Dangling Starts or Finishes” now includes the first/last task of the schedule in the denominator.
      3. New IPM check - Planning Package with Actual Start
      4. IPM Check “Invalid Performance” renamed to “Invalid CAM % Complete”
      5. DCMA and DECM Critical Path Test check will no longer fail due to negative slack on inactive tasks
    2. Import Status
      1. Improved the duration update process for activities that already have the desired duration being requested
      2. The results report will no longer show differences on Actual Start/Finish dates if the dates were not changed
  • 20.2.9 (10/5/2021)
    1. General
      1. The IPM Settings and Other Utility Settings no longer require an active schedule to be launched. This allows for settings creation on new schedules and activating the software without an active schedule loaded.
    2. Import Status
      1. Improved results report to display activity values after all the status updates are calculated by MS Project.
  • 20.2.8 (9/2/2021)
    1. Inspect Schedule
      1. DECM Check “(06A204b) Dangling Starts or Finishes” Updated to v4.0. The check will only flag milestone tasks (those with 0 duration) if they have no predecessors/successors; the task relationship types criteria no longer applies.
    2. Export Status
      1. The error list generated after the export is no longer editable by the user.
    3. Import Status
      1. Any import issues will now be compiled and reported all at once after the import completes.
    4. Navigate Tasks
      1. The window will no longer be focused after new task information is loaded to it.
    5. MilestonesPro to PNG
      1. An alternate export method is used to resolve errors users experienced when working with EMF files. Images will be exported directly from Milestones Professional as PNGs instead of as EMFs.
  • 20.2.7 (6/22/2021)
    1. Inspect Schedule
      1. The DECM Check “(06A204b) Dangling Starts or Finishes” will no longer leave the schedule sorted by Baseline Finish after running
    2. Export BCR
      1. Resolved bug causing BCR summary tasks to be evaluated as if they had an Earned Value Technique assigned.
  • 20.2.6 (6/2/2021)
    1. Export IPMDAR
      1. Tasks with a “PP” (Planning Package) IPM earned value technique now export as not having an earned value technique in the IPMDAR per the submission guidelines.
      2. Two new Core Field Mapping settings are available: “On Critical Path” and “On Driving Path”. See the Core Field Mappings section for more information.
    2. Inspect Schedule
      1. All check results are now cleared before every run.
  • 20.2.5 (5/13/2021)
    1. Export IPMDAR
      1. Percent values are now export as decimals instead of whole numbers. For example, “15%” was represented as “15” and it is now “0.15”.
      2. A task's Baseline Work field value will no longer be exported for any core field setting mapped to “(Not Applicable)”.
      3. The “Use Lookup Description” checkbox in the settings is automatically unchecked and disabled (no matter the previously saved state) if a lookup field is changed back to a normal value field.
      4. The warning “Task Planning Level is 'PLANNING_PACKAGE' with EVT not equal to 'PP'” is now correctly reported.
      5. JSON files are no longer be duplicated in the final zipped result when creating multiple exports.
      6. A new setting is available on the main form to report your schedule's duration data in either “Days” or “Hours”. Previously, the tool only exported durations in “Hours”.
      7. The error reporting calendars without work shifts assigned now lists each problematic calendar's name.
    2. IPM Utilities Settings
      1. The character limit on the Profile name is increased from 10 to 255.
  • 20.2.4 (4/7/2021)
    1. Export BCR
      1. Added new validation check to ensure all BCR summary Baseline dates match the earliest Baseline Start and latest Baseline Finish of their detail activities.
      2. Added new validation check to ensure all BCR activities that have an Earned Value Technique value also have a Package assigned.
      3. Resolved issue causing the “Detail activities of a milestone summary cannot be milestones” error to go undetected in some scenarios
    2. Import Status
      1. Added logic to skip freezing the top row of the status import summary if Excel isn't able to.
    3. Inspect Schedule
      1. Updated the DCMA and DECM “Critical Path Test” check to warn the user if the test altered their Project Finish date. It is possible for bad network logic to cause the Project Finish date to not be pulled back in time to its original value after the test increases/decreases a task's duration.
  • 20.2.2 (2/23/2021)
    1. Inspect Schedule
      1. Updated DECM “(06A204b) Dangling Starts or Finishes” to be skipped on schedules without baseline dates.
      2. Added new IPM check: Inconsistent %C Progress
      3. Updated DECM check name from 'Zero Duration Planning Packages' to 'Do all PPs have Duration' as specified in DECM version 3.6.1.
    2. General
      1. Ended support for MS Project 2007.
  • 20.2.0 (1/8/2021)
    1. Export IPMDAR
      1. Added an entire new utility to the ribbon to facilitate exporting schedule data for the IPMDAR submission. See the Export IPMDAR section for details on the new feature.
    2. Inspect Schedule
      1. Updated the DECM logic to adhere to the specifications mandated in DECM version 3.6.1
  • 20.1.3 (8/4/2020)
    1. Export Status
      1. Updated documentation to explain which tasks will be ignored by the export process for not meeting certain criteria
    2. Inspect Schedule
      1. Updated the 'Invalid Baseline Data' check to ignore tasks with decimals in their duration. This check would previously flag these for not being alphanumeric.
  • 20.1.2 (5/7/2020)
    1. Export BCR
      1. Fixed minor bug causing the unique id to increment automatically.
    2. Fixed backwards compatibility issue with other OPDEC MSP Add-In tools.
  • 20.1.0 (4/23/2020)
    1. All Utilities
      1. Improved user messaging implemented to resolve focus issues found in new versions of Project (2019/365). Any popup announcements or input requests will now be focused upon display.
    2. Export BCR
      1. Improved error messaging if the exported BCR file already exists and is open by the user. The file must be closed before creating another with the same name, and the new message will indicate this.
      2. Any blank task rows inserted into the schedule will be ignored.
    3. Inspect Schedule
      1. Minimizing the schedule while the process is running will no longer cause issues.
    4. MilestonesPro to PNG
      1. Will no longer fail to detect the Milestones Professional installation.
      2. Images will be converted to a PNG format in a safer way.
  • 20.0.0 (2/7/2020)
    1. Inspect Schedule
      1. DECM Check Changes
        1. Updated to be in accordance with DECM version 3.4
        2. (06A203a) SF Relationships - This check was removed from the schedule metrics.
        3. (06A206a) Use of Leads - This check was removed from the schedule metrics.
        4. (06A204b) Dangling Starts/Finishes - This check is updated to specify “non-LOE” tasks instead of “discrete” tasks. It also defined the contract start/completion tasks are any tasks with the earliest Baseline Start date in the schedule or the latest Baseline Finish date; these tasks will now be ignored.'
        5. (06A210a) Loe Tasks with Non-LOE Successor - This check is updated to change “discrete” into “non-LOE”. This check will now flag any LOE successors who do not have an “LOE” EVT assigned, even if its EVT field is blank.
        6. (06A212a) Out of Sequence - This check will now incorporate lead/lags into its calculations due specifically to the DECM documentation update mentioning these as notable contributions towards out of sequence tasks. The check will now identify out of sequence tasks with a Start-to-Finish relationship. The check's percentage threshold changed from less than 1% to 0%.
        7. (06A506a) Invalid Actual Start/Finish Dates - This check now only examines tasks for invalid actual dates if they have an Actual Start date assigned.
      2. Project 64-bit Compatibility
        1. The software will now require 64-bit Project users to activate the software with the universal serial number.