Initialize Projection

Created by Leah Cadman, Modified on Thu, 14 May at 1:54 PM by Leah Cadman

The Initialize Projection action creates or refreshes the projection data for the selected month. It pulls current budget, actual, commitment, and change order information into the projection so users can begin forecasting from an up-to-date starting point.

Important: Initialize is not just a “create” action. If a projection for that month already exists, the system will refresh portions of it.

At a Glance: What happens when Initialize is clicked?

Area

New Projection

Existing Projection

Projection Header

Created if one does not already exist

Reused

Last Initialized Date

Set

Updated to the current date/time

Notes

Saved to the new header

Appended to existing notes

Projection Detail rows

Inserted for all current budget lines

Missing rows inserted; existing rows refreshed

Budget values

Seeded from current Job Budget

Overwritten with current Job Budget values

Actual values

Seeded from actuals to date

Overwritten with current actuals to date

Projected Cost / Hours / Units

Seeded automatically

May be recalculated and overwritten unless the row is using Method 3

Last Projected values

Seeded from current Job Budget projected values

Overwritten with current Job Budget projected values

Pending CO amounts

Included if marked to include in projection

Refreshed from current included Projection CO rows

Revenue Detail

Inserted if missing

Contract amounts and units refreshed

Projection Spread

Created and seeded

Matching spread rows are reseeded from the prior projection month

Department Approval rows

Inserted if enabled and missing

Missing rows inserted only

Projection CO carryforward

Open COs copied forward from previous month if applicable

Missing carried-forward COs inserted only


What Initialize does on a new projection

When no projection exists yet for the selected job and month, Initialize creates a new projection header and builds the starting projection data from current job information.

1. Creates the Projection Header

A new projection header is created for the selected month and job, as long as one does not already exist. Only jobs with an Open status are included.

2. Sets projection dates

The system sets the projection month to the first day of the selected month and stamps the Last Initialized Date. If the projection’s period dates are blank, they are set using:

  • Projection month as the start date

  • The latest of job end date, latest calendar request date, or latest projected resource date as the end date

3. Seeds department approval rows

If department approvals are enabled in settings, the system inserts one approval row per job department found in the job budget.

4. Carries open change orders forward

If a prior projection exists for the same job, open projection change orders from the previous projection are copied into the new one. Approved or closed change orders are not copied. Duplicate rows are not inserted.

5. Builds Projection Detail rows

Each budget line becomes a Projection Detail row if one does not already exist. The system seeds:

  • Budget Amount, Budgeted Hours, and Budgeted Units

  • Actual Amount, Hours, and Units to date

  • Total and remaining committed values

  • Pending CO values included in the projection

  • Last Projected values from the current Job Budget projected fields

6. Calculates initial projected values

Initial Projected Cost, Hours, and Units are seeded from the effective budget, including pending change orders. If actuals already exceed budget, projected values are pushed up to actuals. For certain configured cost types, the system may calculate a method-driven projection using either budget-based or actual-based rates.

7. Seeds Revenue Detail

Projection Revenue Detail rows are inserted for the job’s revenue lines if they do not already exist. Projected Revenue Amount and Units are initially seeded from contract values.

8. Seeds Projection Spread

Projection Spread rows are created for each month from the projection month through the job end month. If there is a prior projection, the prior month’s spread is used as the seed. If there is no prior projection, the initial spread values start at zero.

Simple version: On a new projection, Initialize creates the shell, loads the current job data, carries forward open COs, and gives users a starting forecast to work from.

What Initialize does on an existing projection

If a projection already exists for that job and month, Initialize does not create a second projection. Instead, it refreshes the existing one.

What gets refreshed or overwritten

The following values are refreshed on existing Projection Detail rows:

  • Budget Amount, Budgeted Hours, Budgeted Units

  • Actual Amount, Actual Hours, Actual Units

  • Total Committed Cost, Total Committed Units

  • Remaining Committed Cost, Remaining Committed Units

  • Last Projected Amount, Last Projected Hours, Last Projected Units

  • Pending CO Amount, Pending CO Hours, Pending CO Units

The following values may also be recalculated on existing rows:

  • Method, Projected Cost, Projected Hours, Projected Units

When projected values are preserved

If a row is using Method 3, Initialize preserves that row’s Projected Cost, Projected Hours, and Projected Units. Method 3 also preserves the row’s Method value itself.

When projected values are recalculated

If a row is using Method 1 or Method 2, or has no protected override behavior, Initialize may refresh projected values using the current budget, actuals, included pending CO values, and any configured method logic.

Important: Re-initializing an existing projection can change forecast values. It is not a read-only refresh.

What else is refreshed on an existing projection

Notes: Notes entered during Initialize are appended to existing projection notes rather than replacing them.
Last Initialized Date: Updated each time Initialize runs.
Projection CO: Open change orders from the previous projection month are carried forward only if not already present. Existing CO rows are not duplicated.
Revenue Detail: Missing rows are inserted; existing rows have Contract Amount and Units refreshed.
Projection Spread: Existing rows for matching months are updated with the prior month’s seed. Missing rows are inserted. If no prior projection exists, first-time spread values start at zero.

Does Initialize erase user work?

It depends on the field:

  • Yes for budget, actual, commitment, last projected, and pending CO values — these are refreshed from current source data.

  • Sometimes for projected values — these may be recalculated unless the row is protected by Method 3.

  • No for duplicate Projection CO, Revenue Detail, and Department Approval rows — the process inserts only what is missing.

Recommended user guidance

Users should treat Initialize as a refresh and reseed action, not just a one-time setup button. It is best used when:

  • A new monthly projection is being created

  • Actuals, budgets, or commitments have changed and the projection needs to be refreshed

  • Open change orders should be carried forward from the prior month

Users should use caution when re-initializing an existing projection if forecast values have already been manually adjusted, especially on rows not protected by Method 3.

Summary

When Initialize is clicked on a new projection, the system creates the projection and seeds it from current job data.

When Initialize is clicked on an existing projection, the system refreshes that projection and may overwrite budget, actual, commitment, pending CO, last projected, spread, and some projected forecast values.

In short: new = create and seed, while existing = refresh and partially overwrite.

Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article