Initialize Projection

Created by Leah Cadman, Modified on Mon, 30 Mar at 4:18 PM by Leah Cadman

Initialize Projection

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?

AreaNew ProjectionExisting Projection
Projection HeaderCreated if one does not already existReused
Last Initialized DateSetUpdated to the current date/time
NotesSaved to the new headerAppended to existing notes
Projection Detail rowsInserted for all current budget linesMissing rows inserted; existing rows refreshed
Budget valuesSeeded from current Job BudgetOverwritten with current Job Budget values
Actual valuesSeeded from actuals to dateOverwritten with current actuals to date
Projected Cost / Hours / UnitsSeeded automaticallyMay be recalculated and overwritten unless the row is using Method 3
Last Projected valuesSeeded from current Job Budget projected valuesOverwritten with current Job Budget projected values
Pending CO amountsIncluded if marked to include in projectionRefreshed from current included Projection CO rows
Revenue DetailInserted if missingContract amounts and units refreshed
Projection SpreadCreated and seededMatching spread rows are reseeded from the prior projection month
Department Approval rowsInserted if enabled and missingMissing rows inserted only
Projection CO carryforwardOpen COs copied forward from previous month if applicableMissing 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