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?
| 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
Feedback sent
We appreciate your effort and will try to fix the article