Table of Contents

Microsoft Project Add-In Utility

IPM Utilities is a set of tools created to streamline interactions between IPM procedures and the Microsoft Project schedule.

1. Download and Install

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.

IPM Utilities in Microsoft Project


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 db83-a1c7.

  1. Online Activation - Activate Now
    • This option requires users to enter their name, company, email address, and serial number. Use the serial number db83-a1c7.
  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 user’s 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 entered here should always match the corresponding values used in IPM to map your data instance. See the Map Data section in Data Instance Admin for more information on each requested field setting and what data it should contain.

The Settings Profile Tag text box at the top of the form is used to maintain distinct settings between multiple Project files. Entering 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. Once the file is tagged, transitioning between multiple files is seamless. The tag 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. The options picked here 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. Check the “Override Critical Issues” checkbox if desired, but it is unchecked by default to include the extra validation.
    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 details, reference the Critical Issues subsection of the Import Status Results Report documentation below.
  5. Check the “Use Custom Fields” option if desired.
    1. This option allows users to include additional data from custom Text, Number, Flag, or Date fields within the schedule into the results report. See Task Info below.
  6. Press the “Import Status” button
  7. Select the Excel file that was exported from IPM in the file dialog prompt.
  8. The process checks to ensure a valid file was selected.
  9. 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.
  10. 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
  11. 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.
  12. 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 several sections delimited by color-coded headers: control account information from the schedule, the original status updates from the import file, the relevant IMS data after the status updates are applied, a delta display for affected forecast dates, and any critical issues found during the status update.


4.1.1 Task Info

This section will always display the Control Account, Package ID, and Task Description for each task in the status file. Also, if the “Use Custom Fields” checkbox is selected, this section can display values for up to five custom fields from the IMS. These can be Text, Number, Flag, or Date fields, and can be used to provide additional reference information while assessing the results of the status import.


4.1.2 Status Updates From IPM

This section contains the original data from the Status file exported from IPM.


4.1.3 IMS Result After IPM Status Updates

This 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 users 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.4 Forecast Date Deltas

This section shows the variance between the Forecast Start and Finish dates before and after the status import. The variance is displayed in working days based on the schedule's default calendar.


4.1.5 Critical Issues

The final section reports any critical issues that were found before performing the status updates. By default, if any critical issues are found (except for “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 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.

  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 (See EVT list from Glossary). 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 dates should align with the latest Finish date of its detail. If the summary is a MWPC task, please ensure that all 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 of 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'.

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 allows 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 (See EVT list from Glossary).
  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 value assigned
  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 aligned 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 is 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.


7.2 Running the Tool

Once a Settings Profile has been created, the export is ready to run. 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.

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


7.3.2 Warnings


8. 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.


9. 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.


10. Help

The Help button launches the local documentation in your web browser.


11. About

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


12. Version History