Understanding Project Cost and Revenue Budgets

This topic discusses:

  • Terminology that is relevant to project budgeting.

  • Project budgeting setup steps.

  • Process flow.

  • Top-down budget distribution.

  • Bottom-up project budgeting.

  • Project charging levels.

  • System-defined budget parameters.

  • Budget items.

  • Budget alerts.

  • Finalizing budgets.

  • Budget plan versions.

This table describes terms that are relevant to project budgeting:

Term

Description

Bottom-up Estimating

Estimating the budget amount for individual periods, budget items, and activities, and rolling-up the individual estimates to calculate a project total.

Spreading

The allocation or distribution of budget amounts to project activities across time periods for budgetary or project performance measurement.

Budget Adjustment

The undistributed budget amount, or the amount of the budget that has not been distributed to periods.

Costing Activity

An activity to which budget amounts are assigned. These are activities at the activity costing level.

Distributed Budget

Represents budget amounts that have been distributed to periods. After you distribute a budget adjustment to periods, the system updates the distributed budget with that amount and changes the budget adjustment amount to zero.

Estimating

Developing an approximation of the costs of resources needed to complete project activities. Resources can include labor, equipment, material, and so on. Estimates do not involve allocating or distributing costs across time periods for budgetary or project performance measurement.

Project Charging Level and Activity Costing Level

The project charging level is the level in the work breakdown structure (WBS) at which project budgets are maintained. If you use PeopleSoft Program Management, you can select a project charging level of either the detail activity level, or an activity costing level that is a higher WBS level than detail activities. If you use PeopleSoft Project Costing without PeopleSoft Program Management, the project charging level is always the detail activity level.

Target Budget

The sum of a budget adjustment and the distributed budget. The budget adjustment can be added to or subtracted from the distributed budget to calculate the target budget.

Top-down Estimating

Typically uses the actual cost of a previous, similar project, or a lump sum of money that is available for a project, as the basis for estimating the cost and revenue of the current project and applying it to down to the activity, budget item, and period level.

This table lists the high level steps to enable and set up project budgeting and provides a link to the documentation that discusses the step:

Setup Step

Documentation

Establish budget period calendars. Optionally establish summary budget period calendars to use budget period roll-up functionality.

See Defining Commitment Control Budget Period Calendars.

Enable projects budgeting and establish the default settings for the budget calendar, number of budget periods, and analysis groups at the installation level.

See Installation Options - Project Costing Page.

Define budget items at the system level.

See Budget Items Page.

Set up cost budget alert thresholds for the business unit that appear as default settings for all project budgets that belong to that business unit.

See Project Costing Options - Budget Alerts (business unit) Page.

Set up budget plan version analysis types and enable budget row versioning for the business unit to create different cost or revenue budget plan versions.

See Budget Row Versioning Page.

If you use PeopleSoft Program Management, at the Project Costing installation level enable users to choose the general ledger (GL) business unit and department distribution when creating budget detail rows by using the Get Plan feature.

See Understanding Cost and Revenue Budget Generation.

Project Costing supports top-down project budgeting, bottom-up project budgeting, and the ability to adjust existing project budgets.

This diagram shows the bottom-up and top-down project budgeting process flow in Project Costing:

Top-down and bottom-up budgeting processes

You can simplify the process of creating budgets by using project templates. For example, you can create a project template that contains the detailed work breakdown structure, budget plan, and budget items that are associated with the project activities. Use the template to populate new projects with the preset budget information. You can modify the project template, or create multiple templates to meet your business needs.

The main steps to create budgets from the top down are:

  1. Enter a high-level estimate for the project on the Budget Plan page.

    Use this page to enter budget scenarios for the project. Budget plans provides a high level definition of the total budget for each project budget under consideration.

  2. (Optional) Distribute the estimate down to summary activities on the Budget Detail page.

  3. Distribute the estimate down the WBS to costing activities on the Budget Detail page.

    Use this page to define a specified project budget at a greater level of detail by using budget items.

  4. Adjust budget amounts for budget items on the Project Budget Items - Adjust Budget Items page.

    Use this page to spread the budget amounts to budget items on costing activities.

  5. Distribute the estimate across periods on the Project Budget Periods - Adjust Budget Periods page.

    Return to this page to distribute the budget item budget adjustment across budget periods.

  6. Choose one cost and one revenue budget plan and finalize the plans.

    Finalizing a budget plan sends the budget data to the Project Transaction Interface staging table (INTFC_PROJ_RES) and initiates a process to determine if the budget transactions go directly to the Project Transaction table (PROJ_RESOURCE). If Commitment Control is active for Project Costing and the GL business unit and ledger group combination, the rows must first go through Commitment Control.

    You can finalize only active plans.

You distribute project-level cost estimates across the WBS for detail activities, budget items, and time periods by using one of the distribution options listed in this table:

Distribution Option

Description

Percentage spread

Enter adjustments at the project or summary activity level and spread the adjustment based on the percentages entered for each child costing activity under that project or summary activity. Percentages entered must equal 100 percent.

Even spread

Enter adjustments at the project or summary activity level and spread the adjustment evenly to each child costing activity under that project or summary activity.

Adjust by amount

Enter adjustments at the project or summary activity level and spread the adjustment manually to each child costing activity under that project or summary activity by amount, or adjust particular activities directly.

Adjust by percentage

Directly adjust specific activities by percentages based on previously distributed amounts.

You can enter negative percentages and amounts for activities, budget items, and periods.

After you create a detailed WBS and budget plan in Project Costing, you can create budget details by estimating amounts by period for budget items and rolling up the amounts to the activity and project levels.

For example, you can enter revised period budget amounts at the budget item level, which roll up to the activity level. If the sum of the revised budget item amounts is different than the previous activity budget amount, you can override the previous activity budget amount. The sum of the revised activity budget amounts rolls up automatically to the project level.

Calculate Budget Amount Based on Employee, Job Code, or Project Role

You have the option to calculate period budget amounts by selecting a rate by employee, job code, or project role. You can enter a quantity, unit of measure, and rate calculation basis for a period, and the system calculates the period budget amounts that roll up to the budget item, activity, and project level.

The Calculate Amount From Quantity feature performs in a similar manner as a worksheet. For example, assume that you want to calculate the budget amount for 100 hours of labor by using predefined rates. First you want to view the calculations based on employee, job code, and project role rates, after which you will determine which rate to use. These are the typical steps to accomplish this scenario:

  1. On the Project Budget Items - Adjust Budget Items page, add the labor budget item to the project activity.

  2. On the Project Budget Periods - Adjust Budget Periods page:

    1. Select the Adjust by Amount spread option.

    2. Enter a quantity of 100 and unit of measure of work hours for a budget period.

    3. Click the Calculate Amount button to access the Calculate Amount From Quantity page.

  3. To view the calculation by employee rate:

    1. Select a rate calculation basis of Employee ID on the Calculate Amount From Quantity page.

    2. Select a specific employee ID from the list of available employees.

    3. Click OK to return to the Project Budget Periods - Adjust Budget Periods page and view the calculated budget amount.

  4. To view the calculations by job code or project role rates:

    1. Click the Calculate Amount button again to return to the Calculate Amount From Quantity page.

    2. Select the rate calculation basis, select the detail row, and click OK to return to the Project Budget Periods - Adjust Budget Periods page.

      The system clears the previous calculated amount and displays the new results. Repeat this process as many times as needed for each period row.

  5. When you reach the desired the budget adjustments, click Distribute Budget to update the distributed budget and target budget amounts.

Distribute Costs to Budgets Process in Program Management

If you use PeopleSoft Program Management, you can generate a bottom-up project cost and revenue budget from the amounts defined on the Resources by Activity page. You can click the Get Plan button on the Budget Plan page to trigger the Distribute Costs to Budgets Application Engine process (PGM_SPREAD). This process creates budget detail rows based on activity resource amounts. If the budget plan has a cost budget type, the cost amounts from the Resources by Activity page are used for the detail budget rows. If the budget plan has a revenue budget type, the bill amounts from the Resources by Activity page are used for the detail budget rows.

See Understanding Cost and Revenue Budget Generation.

If you use PeopleSoft Program Management, you can take advantage of a flexible project activity model that supports both a detail WBS for planning, and a cost breakdown structure for accounting. You can use different levels of the WBS for project management and accounting by defining the WBS level at which you want to track project budgets and costs. You can specify a project charging level of WBS level 1, level 2, or level 3, and the system restricts charges to summary and detail activities that are in the specified level. You can also specify a project charging level of all detail activities, in which case you can capture costs on detail activities, but not on summary activities—regardless of an activity's WBS level.

If you use PeopleSoft Project Costing without PeopleSoft Program Management, the project charging level is all detail activities.

See Understanding Project Charging Levels.

Budget items are one of the building blocks of a project budget. Initially, the system uses budget items to establish default ChartField values for budget rows. Later, budget items provide a way of identifying and grouping transactions that the system uses to identify a project activity's budget costs or revenue for a given period.

Project budgeting uses the fields defined on the budget item to match with actual amounts in project transactions. Only those transactions that match the defined ChartField values are counted as actuals for a given budget item.

You can establish cost budget alerts that warn the project manager of potential cost overruns at the project or activity level. The system compares budget amounts with values on the Summary Budget Data table (PC_BUD_SUMMARY), which stores summarized actual costs.

Although budget alerts are not processed at the business unit level, you establish cost budget alerts for the business unit that appear as default values for all project budgets belonging to that business unit. Cost budget alerts that you establish at the project level can be used as default values for project activities. You can override default settings at the project and activity levels.

Budget alerts appear on the Budgets vs Actuals interactive report.

You can define multiple cost budget plans and revenue budget plans for a project, and designate one cost budget plan and one revenue budget plan as active. After you distribute all summary budget amounts to costing activities, budget items, and periods, you can finalize the active plans.

Finalizing a budget plan sends the budget data to the Project Transaction Interface table and initiates the PC_WRAPPER Application Engine program which calls the Load Third-Party Transactions Application Engine process (PC_INTFEDIT). The Load Third-Party Transactions process triggers the Project Costing to Commitment Control Application Engine process (PC_TO_KK), which determines if the budget transactions must go through Commitment Control before they are posted to the Project Transaction table.

If Commitment Control is not required, the process sends the rows directly to the Project Transaction table. You can modify rows on the finalized budget plan and refinalize the plan, which updates the budget amounts on the Project Transaction table. You can also inactivate the previous finalized plan, and activate and finalize a different plan, which replaces the previous budget transactions with new finalized budget transactions on the Project Transaction table.

If Commitment Control is required, the Project Costing to Commitment Control process sends budget rows and cost transactions that require budget-checking to Commitment Control. With Commitment Control you cannot finalize another plan of the same budget type (cost or revenue) and analysis type. You can, however, add new rows on the Budget Detail page and refinalize the budget plan.

Finalizing a budget plan also triggers the Refresh Budget Summary Application Engine process (PC_BUD_SUM) to summarize budget data in the Summary Budget Data table.

After you finalize a budget you can run a Budgets to Costs Review by Period report (PCY1050.RPT) to perform budget versus cost analysis, or use the Budget vs. Actual interactive report to compare budgeted amounts with actual costs.

See Project Costing to Commitment Control Process.

You can retain a historical version of the budget plan transaction rows each time that you finalize a budget. Historical budget plan versions are stored in the Project Transaction table along with the current, finalized budget rows. Each historical budget version is uniquely distinguished by analysis type, and can be used for analysis and reporting. You can control budget plan versions by business unit.

By using budget row versioning, the first time that you finalize a project's budget plan, the system creates a copy of the plan and assigns a unique analysis type to budget rows in the plan copy. The new analysis type distinguishes these rows as historical budget plan version sequence one. The original analysis type remains unchanged on the current, finalized budget rows.

If you modify and refinalize the existing budget plan, or activate and finalize a different plan for the project, the system again creates a copy of the new plan and assigns a unique analysis type to budget rows in the plan copy. The new analysis type distinguishes these rows as historical budget plan version sequence two.

You configure the budget version analysis types, and the sequence in which they are used, by business unit. PeopleSoft delivers the following sequence of analysis types and analysis groups that you can use to distinguish historical cost and revenue budget versions:

Version Sequence

Cost Budget Version Analysis Type

Revenue Budget Version Analysis Type

Version Analysis Group

1

CV1 (Historical Cost Budget Version 1)

RV1 (Historical Revenue Budget Version 1)

HBPV1 (Historical Budget Version 1)

2

CV2 (Historical Cost Budget Version 2)

RV2 (Historical Revenue Budget Version 2)

HBPV2 (Historical Budget Version 2)

3

CV3 (Historical Cost Budget Version 3)

RV3 (Historical Revenue Budget Version 3)

HBPV3 (Historical Budget Version 3)

4

CV4 (Historical Cost Budget Version 4)

RV4 (Historical Revenue Budget Version 4)

HBPV4 (Historical Budget Version 4)

You define these sequences at the business unit level, and use them at the project level. Each project independently uses the analysis type sequence for budget plan versions. The last analysis type used in the sequence is stored in the Project Header table (PS_PROJECT).

For example, assume that you finalize a new cost budget plan using the analysis type BUD. The system:

  • Saves the budget detail rows with analysis type BUD in the Project Transaction table.

  • Creates a copy of the finalized budget detail rows and updates the analysis type to CV1 (Historical Cost Budget Version 1).

  • Stores the copy of the budget detail rows with analysis type CV1 in the Project Transaction table.

Next, assume that you refinalize the cost budget plan for the project. The system:

  • Deletes the previously finalized budget detail rows with analysis type BUD from the Project Transaction table.

  • Saves the new refinalized budget detail rows with analysis type BUD in the Project Transaction table.

  • Creates a new copy of the refinalized budget detail rows and updates the analysis type to CV2 (Historical Cost Budget Version 2).

  • Stores the copy of the budget detail rows with analysis type CV2 in the Project Transaction table.

The system does not retain a historical budget version in the Project Transaction table if:

  • The project is commitment-controlled.

  • The Enable Budget Row Versioning check box is not activated for the business unit on the Budget Row Versioning page at the time you finalize the budget.

  • No budget analysis type sequence is defined on this page for the business unit.

  • All of the analysis types in the budget analysis type sequence have been assigned to a budget version for the business unit.

By using budget row versioning you have the ability to preserve detailed budget rows in the Budgeting tables that match rows in the Project Transaction table. For example, assume that Budget Plan A is the active, finalized cost budget plan. The Project Transaction table contains budget rows with an analysis type of BUD for Budget Plan A, and a copy of Budget Plan A budget rows with an analysis type of CV1. Now you want to modify the budget plan. Instead of modifying and refinalizing Budget Plan A, you inactivate Budget Plan A and activate a new plan—Budget Plan B. When you finalize Budget Plan B, the system deletes the previous BUD rows for Budget Plan A from the Project Transaction table, creates new BUD rows for Budget Plan B, and creates a copy of the new Budget Plan B budget rows with an analysis type of CV2. Then if you want to view the detail rows in the Project Transaction table for analysis type CV1, you simply view Budget Plan A that contains identical rows.

You cannot use budget row versioning if you use Commitment Control.

See Budget Row Versioning Page.