% Complete Recognition Method

The % Complete revenue recognition method relates to fixed fee projects or milestones recognized on percentage of completion. A revenue forecast record is created for each monthly time period to store the values for these objects for use in Revenue Forecasting.

Revenue Forecasting automatically caps the amount at 100% to prevent over-forecasting if the number of hours logged and scheduled on a milestone or project exceeds the number of planned hours, estimated hours at completion, or expected hours.

Note:

Timecard records without assignments are not included in % Complete revenue forecasts.

Revenue Forecasting uses EVAs to calculate the following in a given month:

  • Actual percentage of completion.
  • Scheduled and unscheduled percentage of completion.
Tips:

If required, you can exclude scheduled hours in closed periods from your revenue forecast calculations for projects and milestones. For more information, see Excluding Scheduled Hours in Closed Periods (% Complete Revenue).

Some calculations described in this topic refer to the Estimated Hours at Completion field, however, you can configure which field is used for calculating the value in the % Hours Completed for Recognition field on a project. For more information, see Scheduling Revenue Forecasts.

In the Total Hours Field on Project field on the active revenue forecast setup record, you can specify the field containing the value you want to use as the denominator to calculate the % Hours Completed for Recognition for projects and milestones. If the total scheduled and actual hours exceeds the value in that field and the Use Sched and Actual Hrs for % Complete setting is selected, the calculation for the % Hours Completed for Recognition field uses the total scheduled and actual hours as the denominator instead. For more information, see Scheduling Revenue Forecasts.

Warning:

Depending on how you recognize revenue, you must set the Actuals Template or recognition method on either a project or a milestone but not on both.

Milestone

A revenue forecast record is created for each month for milestones whose recognition method is set as % Complete. This record stores the values for EVAs and timecards for use in Revenue Forecasting.

Notes:

These values are rolled up into the revenue forecast type records for the corresponding project that have “% Complete: Milestone” in the Revenue Source field.

The value in the Planned Hours field on a milestone is used in the revenue forecast calculation as the total hours.

If you do not want PSA to use the value in the Milestone Amount field on the milestone record as the total amount in revenue forecast calculations, you can specify an alternative numeric field in the Total Revenue Field on Milestone field on the active revenue forecast setup record. For more information, see Specifying the Field Containing the Total Milestone Revenue (Deliverable, % Complete, and Equal Split Revenue).

If an actual date is recorded on a milestone, when you run a revenue forecast:

  • Only actual hours are included and the revenue is split between the actual hours. Any scheduled or unscheduled hours are discounted. In this case, actual hours are used as the total hours instead of planned hours.
  • The % Hours Completed for Recognition field on the milestone shows a value of 100%, as the actual date indicates the milestone is complete.

Project

A revenue forecast record is created for each month for projects whose recognition method is set as % Complete. This record stores the values for EVAs and timecards for use in Revenue Forecasting.

Note:

Some calculations described in this section refer to the Estimated Hours at Completion field. You can configure which field is used for calculating the value in the % Hours Completed for Recognition field on a project. For more information, see Scheduling Revenue Forecasts.

When you run a revenue forecast for a project, the following calculation is used to work out the total Revenue Forecast percentage for a given month:

Revenue Pending Recognition percentage + Scheduled Revenue percentage

A project is considered to be closed if the value in the Stage field on a project is "Completed" or the Closed for Time Entry checkbox is selected when you run a revenue forecast:

  • Only actual hours are included and the revenue is split between the actual hours. Any scheduled or unscheduled hours are discounted.
  • The % Hours Completed for Recognition field on the project shows a value of 100%, as the project is complete.
Note:

If you do not want PSA to use the value in the Bookings field on the project record as the total revenue in revenue forecast calculations, you can specify an alternative numeric field in the Total Revenue Field on Project field on the active revenue forecast setup record. For more information, see Specifying the Field Containing the Total Project Revenue (% Complete and Equal Split Revenue).

Calculating with Closed Periods

This section explains how the revenue forecasts are calculated when relevant records are marked as % Complete and there are closed time periods within the project or milestone duration.

Tip:

If required, you can exclude scheduled hours in closed periods from your revenue forecast calculations for projects and milestones. For more information, see Excluding Scheduled Hours in Closed Periods (% Complete Revenue) and Revenue Forecast Setup Fields.

Including Unscheduled Hours

PSA identifies a month as having scheduled hours if it contains at least one Est Vs Actuals (EVA) record.

If there are any unscheduled hours on a project or milestone and there are months that do not contain any scheduled or actual hours, the revenue from the unscheduled hours is spread evenly across those months, with the exception of empty months that fall between months containing scheduled or actual hours.

If there are unscheduled hours on a project or milestone and all relevant months contain scheduled or actual hours, the revenue from the unscheduled hours is added to:

  • The final month within the project duration for projects.
  • The month that contains the target date or, if populated, the actual date for milestones.

If the milestone target date or, if populated, the milestone actual date falls outside the project duration, the project end date is used instead.

Unscheduled revenue is displayed in the Unscheduled Revenue field on the revenue forecast and revenue forecast type records.

On projects, the following calculation is used to work out the number of unscheduled hours:

Estimated Hours at Completion - (Actual Hours on timecards + Scheduled Hours on resource requests + Scheduled Hours on assignments)

On milestones, the following calculation is used to work out the number of unscheduled hours:

Planned Hours - (Actual Hours on Timecards + Scheduled Hours on Resource Requests + Scheduled Hours on Assignments)

Calculating Accurate Mid Month Forecasts

On the active revenue forecast setup record, you can select Use Mid Month Forecast Calculations and specify a cutoff day. Revenue Forecasting then excludes past scheduled hours that are not covered by timecards from calculations for the current monthly time period (forecasts run for other months are not affected). This means:

  • Scheduled work that never took place is excluded.
  • Forecast calculations exclude such scheduled work on a weekly basis instead of on a monthly basis, aligning with the typical timecard submission cadence.
  • Note:

    Forecasts are still generated monthly.

This setting brings the following benefits:

  • There is a smoother progression through the month, with no sudden change in forecasting values at month end.
  • You have a more accurate representation of the remaining planned work and the completed planned work for the current month. Forecasts run for other months are not affected.

The following rules apply:

  • Revenue Forecasting excludes scheduled hours that fall on or before the actuals cutoff day you select.
  • If the actual hours recorded for a day exceed the scheduled hours, Revenue Forecasting excludes all scheduled revenue for that day.
  • If an assignment uses a daily bill rate and there are actual hours from timecards for that day, Revenue Forecasting includes the day in the forecast as an actual day.
Tip:

For even greater accuracy, you can also select Exclude Actuals After Cutoff Day if you do not want actual hours that are after the cutoff day to be included in % Complete forecast calculations.

For more information, see Configuring Mid Month Forecasting Calculations (Deliverable and % Complete Revenue).

Using Weighting

Weighting enables you to forecast based on cost rate or other attribute so that the monetary value of each hour on a project or milestone differs depending on the resource the hours are assigned to. For example, if the cost rate amount for resource A is twice the cost rate amount for resource B, an hour of resource A's time accounts for twice as much revenue as an hour of resource B's time.

Notes:

Unscheduled hours are not included when applying weighting. For projects and milestones, the total hours are the sum of the actual and scheduled hours.

For records in different currencies, you must convert the values using the appropriate exchange rate to ensure that the relative weightings are correctly applied. For example, if resource A has a cost rate amount of 100 USD and resource B has a cost rate amount of 100 GBP and the project currency is USD, in this scenario we recommend that you create a custom formula field that converts the cost rate amount into the project currency.

You can enable this feature from the active revenue forecast setup record and can specify the fields on the Assignment and Resource Request objects that determine the relative value of the hours. For more information, see Applying Weighting (% Complete Revenue).

Tip:

If you want to validate the weighted values returned in revenue forecasts, you can view the Actual Weighted Effort and Scheduled Weighted Effort fields on the revenue forecast record for the relevant monthly time period. If the fields are not visible, ask an administrator to add them to the page layout.

Example for % Complete Recognition Method