Performing Variance Pricing

This chapter provides an overview of variance pricing and discusses how to:

Click to jump to parent topicUnderstanding Variance Pricing

This section discusses:

When a contract is awarded, a contractor can bill and recognize revenue for direct costs, indirect costs, and possibly fees associated with the performance of the contract. To calculate the indirect (overhead) costs associated with a government contract, a contractor utilizes provisional and forward pricing rates. Provisional and forward pricing rates are estimates of actual costs that are incurred throughout the life of the contract. Provisional and forward pricing rates are regulated and approved by the government, but may be subject to change throughout the life of a contract as a more accurate accounting of costs becomes known. Rate changes may be initiated by the government or the contractor. To manage these possible rate changes, PeopleSoft Contracts uses PeopleSoft Project Costing's variance pricing functionality.

Through its integration with PeopleSoft Project Costing, PeopleSoft Contracts enables you to capture and process any rate changes for indirect costs associated with the contract. Such rate changes generally impact a certain period of time within the contract. For a transaction to be eligible for variance pricing, at least one of its source or target rows must have been sent to the billing worksheet, passed to PeopleSoft Billing for invoicing, passed to PeopleSoft General Ledger for revenue recognition or have been used for fee calculations are eligible for variance pricing.

When rate changes occur, the system first verifies if the transaction rows are eligible for repricing. If they are, then variance pricing is ineligible for those transaction rows.

The Variance Pricing process runs the Repricing, then Price Unpriced, then Variance Pricing, and then the Pricing process for the rows created from the Variance Pricing process using the rate set and rate plan (if applicable) for the new rate. New indirect cost rows are generated by the system for the difference in the old and new rates, and the new rates are used to calculate indirect costs against any current or future transactions going forward. When a rate change is made to an eligible costing rate set that is associated with a rate plan, after the new transaction row is created, the system prices the new row using any applicable remaining rate sets contained in the rate plan.

PeopleSoft Contracts maintains a history of these rate changes for audit and reporting purposes.

Click to jump to top of pageClick to jump to parent topicVariance Rates

When managing government contracts, you may need to define costing, billing, and revenue rates to calculate transaction costs, overhead, and revenue for your contract's rate-based contract lines. PeopleSoft Contracts uses rate sets and rate plans to perform this function. Rate sets enable you to define how specified contract-related transactions are priced for costing, billing, and revenue recognition. Rate plans enable you to combine multiple rate sets together to perform more complex pricing scenarios.

Revenue rates are only defined if you have selected the Separate Billing and Revenue check box on the Installation Options – Contracts page.

For government contracts, in addition to setting up rate sets for billing and revenue recognition, you also set up rate sets for costing transactions and calculating overhead amounts. These rate sets are identified by a rate definition type of Cost, and can contain provisional and forward pricing rates. Provisional rates are approved by the government and are used to calculate costs and overhead that is billed to the government. Forward pricing rates are determined by the contractor and submitted to the government for approval. Forward pricing rates are used to forecast costs and calculate overhead costs for revenue recognition.

To manage and track any changes to your provisional or forward pricing rates over the life of the contract, PeopleSoft Contracts uses variance pricing functionality. To enable the system to calculate and produce transaction rows for rate changes you must complete the following tasks:

See Pricing Rate-Based Contract Lines.

See Also

Rate Setup

Defining Rate Sets and Plans

Click to jump to top of pageClick to jump to parent topicVariance Pricing

When rate changes occur, you may need to adjust rates and pricing retroactively for transactions that have already been billed or have had revenue recognized, and apply the new rates to any transactions that have yet to be priced or billed. Variance pricing enables you to capture rate changes for your active contracts that impact indirect costs, and then apply those rate changes to your transactions retroactively for active contract lines. The system calculates the difference between the old and new rate and then applies the difference in rates against historical costs within a specified date range. New transactions are created for the difference in rates.

Rate changes may occur throughout the life of the contract, under the following circumstances:

Variance Pricing Example

Assume that a project has a provisional indirect cost rate of 30 percent. One month the project accumulates an actual direct labor cost of 100 USD and an actual indirect cost of 150 USD. Payroll sends direct and actual indirect costs to PeopleSoft General Ledger, which results in these accounting entries:

Account

Amount

Direct labor cost

100 USD

Actual indirect labor cost

150 USD

Cash

<250 USD>

Payroll sends direct costs to PeopleSoft Project Costing. PeopleSoft Project Costing calculates the indirect burden cost to the project as follows:

(Actual direct labor + (Actual direct labor × Provisional indirect cost rate)) =130 USD

PeopleSoft Project Costing sends the indirect burden cost to PeopleSoft General Ledger, which results in these accounting entries:

Account

Amount

Applied indirect burden cost (labor overhead)

130 USD

Applied over/under asset

<130 USD>

In this example, the actual indirect labor cost is booked to an asset account at the end of the accounting period. The resulting accounting entries are:

Account

Amount

Applied over/under asset

150 USD

Contra expense

<150 USD>

At the end of the year, an evaluation is made to determine if the applied indirect burden cost, based on the provisional indirect cost rate, is in line with the actual indirect cost. In this example, the applied indirect burden cost is 130 USD and the actual indirect cost is 150 USD, which leaves an applied over/under asset account balance of 20 USD.

Based on the account balance, auditors determine that the indirect burden cost should be variance priced. Variance pricing is used to create a retroactive rate adjustment to align the provisional indirect cost with the actual indirect cost. The system calculates a variance pricing rate of 50 percent, calculates the difference between the original provisional indirect rate and the variance pricing rate, and applies it to the original direct cost. The new indirect cost is 20 USD, as follows:

((50 percent − 30 percent) × 100 USD) = 20 USD

The final accounting entry from PeopleSoft Project Costing to PeopleSoft General Ledger at year-end posts the result from the variance pricing process, and brings the balance of the applied over/under asset account to zero. The accounting entries are:

Account

Amount

Applied indirect cost (labor overhead)

20 USD

Applied over/under asset

<20 USD>

Variance Pricing Setup Requirements

Before entering retroactive rate changes for your contract lines, you must first complete the following steps required by the variance pricing process:

  1. Create a contract with a contract classification of Government.

  2. Assign rate-based contract lines to the contract.

  3. Create a costing standard or contract-specific rate set or rate plan, and assign the rate set or rate plan to the applicable rate-based contract lines.

    Variance pricing is only applicable to rate sets with a Rate Definition Type of Cost that have the Enable Variance check box selected. However, to bill and recognize revenue for your contract-related direct and indirect costs, you must also create a billing rate set and revenue rate set (if you have selected the Separate Billing and Revenue check box on the Installation Options - Contracts page).

    Because you can assign only one rate set or rate plan to a rate-based contract line at one time, you will most likely combine your costing, billing, and revenue rate sets onto a rate plan in a manner that meets your pricing needs, and assign the rate plan to your rate-based contract lines.

    Note. Rate sets that are eligible for variance pricing cannot have the same field values for Analysis Type, Source Type, Category or Subcategory for both the source and target definition criteria. At least one value must be different between the source and target row. Using a wildcard character for any of these fields is considered to be the same field value for definition purposes, and would cause the rate set to be ineligible for variance pricing.

    See Defining Standard or Contract-Specific Rate Plans.

  4. Assign active projects and activities to your rate-based contract lines.

    Transactions for rate-based contract lines are tracked using projects and activities associated with the contract line, and stored in the Project Costing Project Transaction (PROJ_RESOURCE) tables.

  5. Set the contract to an active processing status and process transactions.

    Transactions that are eligible for variance pricing are project-related transaction associated with rate-based contract lines that are processed through PeopleSoft Project Costing. To process transactions for your contract and rate-based contract lines you must also define as-incurred billing and revenue plans and assign them to the applicable rate-based contract lines for billing and revenue processing for your transactions.

Variance Pricing Process Flow

After the contract has been activated and transactions have been processed, any rate changes that occur over the life of the contract can be applied using the variance pricing feature. The variance pricing feature enables you to apply your rate changes as needed by performing the steps described in this process flow diagram:

Variance pricing process flow

These steps illustrate a high level example of using variance pricing to distribute transactions at a new rate that you previously distributed at a different rate:

  1. Access the active costing rate set to enter the new rates for the target definition.

    Variance rates are generally applied retroactively, over a specified period of time. When accessing the costing rate set, you must use Correction mode to open the page as of the appropriate effective date. To access the Rate Variance History page, navigate to the Target page and enter the new rates for the target definition. Variance rates are tracked and processed using the Rate Variance History page.

  2. Define the variance pricing run control parameters.

    The Variance Pricing process selects the data to process based on the criteria that you specify on the Variance Pricing run control page and applies the following logic:

  3. Applies standard pricing.

    After a rate change is made, the variance pricing process calls the Pricing Engine (PC_PRICING) to apply the new rate to any transaction rows that have been priced, but not yet billed or booked to the general ledger, or that have not yet been priced. It also prices any transactions that have not been priced, but are eligible for pricing.

  4. Performs variance pricing.

    The variance pricing process performs the following steps:

    1. Selects the eligible transactions that match the effective date and source criteria for the costing rate set.

      Eligible transactions include transaction rows that are not eligible for repricing and have a general ledger distribution status (GL_DISTRIB_STATUS) of G (Generated) or D (distributed), a billing distribution status (BI_DISTRIB_STATUS) of W (worksheet) or D (distributed), and do not have a system source of PRR (priced for revenue) or PRP (priced for billing). Transactions with a contracts fee status (CA_FEE_STATUS) of 1 (one), where the transaction has been used for billing or revenue fee calculations for cost-plus contract lines, are also eligible for variance pricing, whether or not the actual transaction has been billed or posted to the general ledger for revenue recognition.

      See Understanding Cost-Plus Contract Fees.

    2. Calculates the difference between the old rate and the new rate using the following equation:

      (Original source) x (old rate) – (Original source) x (new rate). This amount may be positive or negative.

    3. Creates the new transaction rows for the difference and posts them to the Project Transaction table (PROJ_RESOURCE) in PeopleSoft Project Costing.

      The new transaction rows are assigned the analysis type assigned to the original target row, stamped with a system source of PRV (Variance Pricing), assigned a cost, revenue, and billing distribution status of N to enable cost stacking, billing, and revenue recognition to occur for the new transactions, and assigned a general ledger distribution status of C. The accounting date is specified on the run control page and the transaction date is stamped with the source transaction date.

  5. Applies standard pricing to the newly created variance output row.

    Also, after the first target rate change is processed through variance pricing, the system runs the next target rate change for the rate set until all new rate target changes are complete. Rate stacking can also occur on the variance pricing row.

  6. After the variance pricing process is complete, the system posts the new transaction rows to the Project Transaction table (PROJ_RESOURCE) where they are eligible for limit processing, withholding, fee processing, billing, and revenue recognition processing.

Note. When you run the variance pricing process, the system automatically excludes contracts with a processing status of Closed Additionally, rows created as part of the variance pricing process are no longer eligible for repricing.

Variance Pricing Rate Stacking Example

When you make a rate change to a cost rate set that is associated with the a rate plan, after variance pricing generates the variance row, the system prices the new transaction row according to the rate plan associated with the costing rate set that is modified.

Step 1: In this example, assume that you have defined a rate plan as follows:

Rate Set

Basis

Analysis Type

Source Type

Category

Sub Category

Rate Amount

Target Analysis Type

Target Sub Category

PROV1

Original

PAY

LABOR

ENG

DIR

.50

PRV

FRING

           

1.20

PRV

OVH

PROV2

Target

PRV

LABOR

%

OVH

.30

PRV

G&A

FRDP1

Original

PAY

LABOR

ENG

DIR

.60

FRD

FRING

           

1.30

FRD

OVH

FRDP2

Target

FRD

LABOR

%

OVH

.40

FRD

G&A

BIL1

All

PAY

LABOR

ENG

DIR

1.0

BIL

 
   

PRV

%

%

%

1.0

BIL

 

REV1

All

PAY

LABOR

ENG

DIR

1.0

REV

 
   

FRD

%

%

%

1.0

REV

 

Step 2: A 1,000 USD payroll transaction is entered with the following criteria:

Analysis Type

Source Type

Category

Sub Category

Amount

PAY

LABOR

ENG

DIR

1,000 USD

Step 3: The system prices the transaction row using the rate plan defined in Step 1. The results of the process are as follows:

Analysis Type

Resource Type

Resource Category

Resource Sub Category

Foreign Amount

Resource ID

Resource ID From

Factor from Rate Set

PAY

LABOR

ENG

DIR

1000 USD

10001884

10001884

 

PRV

LABOR

ENG

FRING

500 USD

10001885

10001884

.50

PRV

LABOR

ENG

OVH

1200 USD

10001886

10001884

1.20

PRV

LABOR

ENG

G&A

360 USD

10001887

10001884

.30

FRD

LABOR

ENG

FRING

600 USD

10001888

10001884

.60

FRD

LABOR

ENG

OVH

1300 USD

10001889

10001884

1.30

FRD

LABOR

ENG

G&A

520 USD

10001889

10001884

.40

BIL

LABOR

ENG

DIR

1000 USD

10001890

10001884

1.0

BIL

LABOR

ENG

FRING

500 USD

10001891

10001884

1.0

BIL

LABOR

ENG

OVH

1200 USD

10001892

10001884

1.0

BIL

LABOR

ENG

G&A

360

10001893

10001884

1.0

REV

LABOR

ENG

DIR

1000 USD

10001894

10001884

1.0

REV

LABOR

ENG

FRING

600 USD

10001895

10001884

1.0

REV

LABOR

ENG

OVH

1300 USD

10001896

10001884

1.0

REV

LABOR

ENG

G&A

520 USD

10001897

10001884

1.0

Step 4: After the transaction has been priced and processed through to PeopleSoft Billing and PeopleSoft General Ledger, a rate change occurs in the second provisional rate set (PROV2) which changes the rate from .30 to a new rate of .50. To perform variance pricing, you must access the rate set PROV2, and enter the new rate of .50 on the Rate Variance History page. When you run variance pricing the system creates a new variance row for the difference between the old rate and the new rate. The newly created row is as follows:

Analysis Type

Resource Type

Resource Category

Resource Sub Category

Foreign Amount

Resource ID

Resource ID From

Factor from Rate Set

PRV

LABOR

ENG

G&A

240 USD

10001900

10001884

.50

The system then continues pricing the new row according to the rate plan defined in Step 1 above. This results in the following new billing row:

Analysis Type

Resource Type

Resource Category

Resource Sub Category

Foreign Amount

Resource ID

Resource ID From

Factor from Rate Set

BIL

LABOR

ENG

G&A

240 USD

10001907

10001884

1.0

Whenever you make a change to a cost rate using the variance pricing functionality, and the rate set is part of a rate plan where rate stacking is defined, the system prices the new variance price row from the point where the change was made on down.

Click to jump to top of pageClick to jump to parent topicVariance Pricing Statuses

When entering variance pricing rate changes, each row is assigned a status. The statuses are set and controlled by the system and control the type of action or processing that can occur against the variance rate row. The following rate target sequence statuses are delivered by the system:

Click to jump to parent topicDefining Variance Rates

This section discusses how to:

Click to jump to top of pageClick to jump to parent topicPages Used to Define Variance Rates

Page Name

Object Name

Navigation

Usage

Rate Sets

PC_RATE_DTL

  • Setup Financials/Supply Chain, Product Related, Contracts, Templates, Rate Sets

  • Setup Financials/Supply Chain, Product Related, Project Costing, Pricing Structure, Rate Sets

Define source criteria to identify cost transactions from feeder systems used to calculate costs and overhead for contract-related transactions and enable users to enter rate variances on the Rate Sets - Target page.

Rate Sets - Target

PC_RATE_DTL_LN

  • Click the Target link on a source row on the Rate Sets page.

  • Setup Financials/Supply Chain, Product Related, Contracts, Templates, Rate Sets, Target

  • Setup Financials/Supply Chain, Product Related, Project Costing, Pricing Structure, Rate Sets, Target

Define target data for rate set source rows, and access the Rate Variance History page to define variance rates for costing rate sets.

Rate Variance History

PC_VP_HISTORY

Select the Enable Variable check box on the Rate Sets page. Click the Target link on the source row. Click the History link on the Rate Sets - Target page.

View and enter variance price rates.

Click to jump to top of pageClick to jump to parent topicDefining Variance Rate Sets

Access the Rate Sets page.

See Defining Rate Sets and Plans.

Click to jump to top of pageClick to jump to parent topicDefining Variance Rates

Access the Rate Variance History page.

See Creating Pricing Variances.

Click to jump to parent topicRunning Variance Pricing

This section provides an overview of running variance pricing, and discusses how to run variance pricing.

After you have defined your rate changes using the Rate Variance History page, the next step is to perform variance pricing. The Variance Pricing process calls the Pricing Engine (PC_PRICING) to price any unpriced rows or reprice any rows that have not yet been processed and applies the new rates that you defined.

Next, the Variance Pricing engine (PC_VAR_PRICING) calculates the difference between the old rate and the new rate for any transactions meeting the criteria of the rate set that have already been processed. This includes transactions with a general ledger distribution status (GL_DISTRIB_STATUS) of Generated or Distributed (G or D) or a PeopleSoft Billing distribution status (BI_DISTRIB_STATUS of Worksheet (W) or Distributed (D) or any transactions that have been used in the fee calculation process for cost-plus contract lines (fee status of one (1.)

Finally, the system applies the new delta rate amount to the transactions that meet the rate set criteria that have already been processed, and creates new transaction rows with the analysis type assigned to the Target definition for the original costing source, applies standard pricing to the newly created row, and posts the transaction to the Project Transaction (PROJ_RESOURCE) table in PeopleSoft Project Costing. The new rows are eligible for limit processing, withholding processing, fee processing, billing and revenue recognition.

Note. When running the variance pricing process (PC_VAR_PRICE), you must select a rate set Id on the run control page to ensure that the variance is accurately captured for all applicable project transactions within a given rate set. After a newly created variance pricing row is priced, you cannot reprice that row.

Click to jump to top of pageClick to jump to parent topicPage Used to Run Variance Pricing

Page Name

Object Name

Navigation

Usage

Variance Pricing

PC_VAR_PRICING

Project Costing, Utilities, Variance Pricing

Run the variance pricing process on selected rate sets.

Click to jump to top of pageClick to jump to parent topicRunning Variance Pricing

Access the Variance Pricing page.

See Applying Pricing Variances.