Utilizing Burden Extensions WP

Download as pdf or txt
Download as pdf or txt
You are on page 1of 19

An Oracle White Paper April, 2011

Utilizing Burdening Extensions in Oracle Fusion Project Portfolio Management

Utilizing Burdening Extensions in Oracle Fusion Project Portfolio Management

Safe Harbor Statement


The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracles products remains at the sole discretion of Oracle.

Beta Trial Disclaimer Statement


The information contained in this document is for informational sharing purposes only, and should be considered in your capacity as a customer advisory board member or pursuant to your beta trial agreement only. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described in this document remains at the sole discretion of oracle. This document in any form, software or printed matter, contains proprietary information that is the exclusive property of oracle. Your access to and use of this confidential material is subject to the terms and conditions of your oracle software license and service agreement, which has been executed and with which you agree to comply. This document and information contained herein may not be disclosed, copied, reproduced or distributed to anyone outside oracle without prior written consent of oracle. This document is not part of your license agreement nor can it be incorporated into any contractual agreement with oracle or its subsidiaries or affiliates.

Utilizing Burdening Extensions in Oracle Fusion Project Portfolio Management

Glossary ............................................................................................ 2 Executive Overview ........................................................................... 3 Burdening Overview .......................................................................... 3 Compiled Multipliers ...................................................................... 4 Example of Burden Cost Calculations............................................ 6 Adjustments to Burden Cost .......................................................... 6 Limitations ..................................................................................... 7 Using the Burden Cost Calculation Override Extension ..................... 7 Requirements ................................................................................ 7 Solution Overview.......................................................................... 8 Examples of Burden Cost Calculations Using the Extension ......... 8 Process Flow with Burden Cost Calculations Extension .............. 10 Implementing the extension ......................................................... 12 Handling adjustments to actual burden cost calculated with the extension .................................................................................................... 13 Using the Burden Grouping Extension ............................................. 15 Using the Burden Costing Extension ............................................... 16

Utilizing Burdening Extensions in Oracle Fusion Project Portfolio Management

Glossary

Burden Cost Code - Burden cost codes represent the types of costs that you want to allocate to raw costs. Burden cost

amounts are calculated for each burden cost code, and these amounts can then be accounted and reported separately from the raw costs.

Burden Cost Base A burden cost base is a grouping of expenditure types. Transactions using any of the expenditure

types in a cost base have specific burden cost codes applied while calculating the burden costs for a the transaction.

Burden Structure - A burden structure is a definition of how burden cost codes and expenditure types map to a burden

cost base.

Burden Schedule Version - A burden schedule versions define the multipliers that will be applied for each burden cost

code and organization.

Burden on Same Expenditure Item: aka Same Line Burdening The method of calculating the burden cost for an

expenditure item and storing and reporting it as a single amount on the same expenditure item as the raw cost. This option is set on the project type.

Burden on Separate Expenditure Item: aka Separate Line Burdening The method of calculating the burden cost for

each burden cost code related to the burden cost base that an expenditure item belongs. With this method, expenditure items are created for each burden cost code, and therefore the burden costs are accounted and reported at a more granular level.

Summarized Burden Expenditure Item The expenditure items that account and report for the individual burden cost

codes.

Utilizing Burdening Extensions in Oracle Fusion Project Portfolio Management

Executive Overview
Oracle Fusion Project Portfolio Management provides a very robust and dynamic engine for calculating the fully loaded or burdened cost for projects. There are various ways to calculate, account for and report on the burdened amounts and the details behind the burdened amounts. However, the way that transactions are mapped to cost bases, which cost codes are applied to transactions, and how the burden cost amount is calculated is not extensible and limited to the standard setup and rate definitions. This white paper describes how you can utilize the Burden Cost Override Extension to change the standard behavior when calculating burden cost. The overview section describes the procedures for setting up and calculating burden costs. The paper then describes how the extension can change the default behavior to satisfy specific requirements that are not met with the standard solution.

Burdening Overview
Defining the burdening infrastructure begins with determining what types of burden costs you want to apply to the various types of costs that your organization will incur. For example your organization can apply burden costs such as Overhead, Fringe, or Fees. You define these types of burden cost as burden cost codes. The next step is to define the pools of costs to which specific cost codes are applied, for example Labor, Expenses, Material, etc. These pools are called cost bases. The cost codes and cost bases come together in a burden structure. Within a burden structure, expenditure types are related to a specific cost base to identify which transactions belong to a cost pool. You assign cost codes to each cost base to determine the burden costs to apply to the transactions within that cost pool. Burden structures have a type of either Additive or Precedence, which determines if the amount calculated for each burden cost code is based only on the transaction amount, or based on the running total of transaction amount plus the cost codes with a higher precedence.

Figure 1: Components of a burden structure

Utilizing Burdening Extensions in Oracle Fusion Project Portfolio Management

Next, you assign burden structures to burden schedules. Burden schedules have date-effective versions, which in turn have a set of multipliers. You enter multipliers for each cost code by expenditure organization, enabling you to enter multipliers at a higher level of the organization hierarchy so that the multiplier automatically apply to the child organizations, unless you choose to explicitly define different multipliers for those lower-level organizations when required. This diagram illustrates a basic example of the calculation of burdened cost on three different cost bases: labor, materials and expense.

Figure 2: Burden calculation basic example

Compiled Multipliers
You enter multipliers for each burden cost code on the burden schedule version and build the version to increase the speed of the calculations. The build processing compiles the entered multipliers to increase the calculation efficiency. As a result, the multipliers that you enter are not always what the application applies to the transaction raw cost amount to calculate the burden cost for each cost code.

Utilizing Burdening Extensions in Oracle Fusion Project Portfolio Management

When you define a burden structure, you select a structure type and then create the cost bases. You can assign multiple burden cost codes to each cost base. During build processing, the application computes complied multipliers for each cost base, taking into account the entered multipliers for each burden cost code. The application later uses the cost base multipliers to calculate the burden cost for transactions because the details of the individual burden cost codes are not needed. The following examples compare entered and compiled multipliers for both Additive and Precedence type burden schedules. Notice that in the Additive type, the compiled multipliers are simply equal to the entered multipliers.

ADDITIVE STRUCTURE ASSIGNED TO SCHEDULE

BURDEN COST BASE

PRECEDENCE

BURDEN COST CODE

ENTERED MULTIPLIER

COMPILED MULTIPLIER

Labor Labor Labor Labor Labor Materials Materials Materials

1 2 2 3

Overhead Fringe G&A Fee

.50 .25 .20 .10

.50 .25 .20 .10 1.05

1 2

Overhead Material Handling

.50 .10

.50 .10 .60

Table 1: Example of compiled multipliers using additive structure


PRECEDENCE STRUCTURE ASSIGNED TO SCHEDULE

BURDEN COST BASE

PRECEDENCE

BURDEN COST CODE

ENTERED MULTIPLIER

FORMULA

COMPILED MULTIPLIER

Labor Labor Labor Labor

1 2 2 3

Overhead Fringe G&A Fee

.50 .25 .20 .10

= .50 = ,25 * (1+.50) = .20 * (1+.50) = .10 *(1+.50+.375+.30)

.50 .375 .30 .2175

Labor Materials Materials Materials 1 2 Overhead Material Handling .50 .10

= .50+.375+.30+.2175 = .50 = .10 * (1+.50) = .50 + .15

1.3925 .50 .15 .65

Table 2: Example of compiled multipliers using precedence structure

Utilizing Burdening Extensions in Oracle Fusion Project Portfolio Management

Example of Burden Cost Calculations


Amy Marlin enters a time card for 8 hours for the ABC project and Amy has a cost rate of $100 an hour. The project is assigned the precedence burden schedule from the previous section. Amy selected the Regular Labor expenditure type and this expenditure type is assigned to the Labor cost base. The following two examples demonstrate the results that depend on the project type configuration: Include burden cost on the same expenditure item Create separate expenditure items for each burden cost code

Include burden cost on same expenditure item example

EXPENDITURE TYPE

RAW COST

BURDEN COST

BURDENED COST

Labor

$800

= Compiled Rate for Labor Cost Base (1.3925) * Raw Cost = $1114

$1914

Table 3: Example of burden cost calculation on the same expenditure item

Create separate expenditure items for each burden cost code

EXPENDITURE TYPE

RAW COST

BURDEN COST

BURDENED COST

Labor Overhead Fringe G&A Fee

$800 $0 $0 $0 $0

0 = Compiled Rate for Overhead Cost Code (.50) * Raw Cost = $400 = Compiled Rate for Fringe Cost Code (.375) * Raw Cost = $300 = Compiled Rate for G&A Cost Code (.30) * Raw Cost = $240 = Compiled Rate for Fee Cost Code (.2175) * Raw Cost = $174

$800 $400 $300 $240 $174

Table 4: Example of burden cost calculation on separate expenditure items

Adjustments to Burden Cost


Adjustments to actual burden cost take place whenever you change a multiplier, build the revised burden schedule version, and then initiate the process to recalculate burden cost amounts. Burden cost is also recalculated when the raw cost of an expenditure item is adjusted, or a key attribute of the expenditure item, such as the billable or capitalizable status, is changed.

All of these adjustments are handled the same way with a single exception that is described in the next paragraph. When any of these adjustments are performed, two new cost distribution lines are created. The first new line mirrors the previous cost distribution line but with the inverse quantity. This line reverses out the impact of the previous line; however the accounting and project accounting dates and periods on the reversing line are not copied directly from the original line.

Utilizing Burdening Extensions in Oracle Fusion Project Portfolio Management

The application derives the dates and periods based on the current period statuses to ensure that new distributions are not created in closed periods. The second line is created with the actual quantity of the transaction and any new attributes that have been adjusted (billable, work type, etc.). The raw and burdened costs are recalculated based on the current rate definitions.

The exception to this rule is when you initiate burden cost recalculation from the Manage Burden Schedules page and the projects impacted by the adjustment use the option to create separate expenditure items for each burden cost code. In this case, reversing cost distribution lines are not created. Instead, the compiled multiplier reference (compiled_set_id) on the existing cost distribution is moved to the prev_compiled_set_id and the latest compiled_set_id is populated. When the Generate Burden Transactions process is run, the view (pjc_cdl_burden_detail_v) returns results to reverse out the existing burden amounts, using the prev_compiled_set_id, as well as results using the latest compiled_set_id. These amounts are summarized with the end result being expenditure items created for the net difference of the previous and latest compiled multipliers.

In order to use revised burden rates on existing project plans, budgets, or forecasts, you must choose to refresh the rates. For project plans, you can refresh rates for the selected resource. For budgets and forecasts, you can refresh rates for the selected resource or the entire version.

Limitations
Although the standard burdening solution is very flexible, scalable, and meets a majority of business requirements, a few limitations exist as to how and when burden costs are calculated. These limitations include: The basis for the burden cost calculations is always the raw cost of the transaction. The full list of burden cost codes for a cost base is always applied and the multipliers are static once the burden schedule has been built.

Using the Burden Cost Calculation Override Extension


The following sections further describe requirements that the standard burdening solution does not meet, provide examples of how the extension can calculate burden costs, and identify where in the process flows the burden cost calculation override extension is invoked.

Requirements
Several use cases have been identified that the standard burdening solution does not satisfy. A fixed rate should be applied based on the quantity of the specific transaction, instead of a multiple of the raw cost. For example, you need to apply a fee based on the number of hours worked, as opposed to the salary that a particular individual receives. In this case the burden cost equation becomes Raw Cost + (Quantity * Burden Rate).

Utilizing Burdening Extensions in Oracle Fusion Project Portfolio Management

Under certain conditions, a specific cost code should not be included, or the multiplier needs to be overridden. For example, some or all cost codes must not be applied after the actual cost for a specific project reaches a certain limit. A project or task level multiplier for a specific cost code is defined in a descriptive flexfield and should be used instead of the multiplier defined on the burden schedule.

Solution Overview
The ability to manipulate the way in which burden cost is calculated is delivered as a client extension. This client extension is called when burden costs are calculated in the supported flows. A single pl/sql procedure is used to define the custom logic required to ensure that the amounts for each burden cost code are calculated appropriately. When deciding if this extension will meet your needs, it is important to consider the following: The extension is supported when calculating actual, planned, budgeted, and forecast burden and burdened costs within Oracle Fusion Projects. It is not supported when burden schedules are used to calculate revenue and invoice amounts. It is also not supported when exporting burdened cost rates through the integration gateway for Primavera P6 or to third-party project scheduling tools such as Microsoft Project. The usage of the extension is a global decision. When it is enabled, all transactions will be passed through the extension. The Budget Burdened Cost Extension is performed after the Burden Cost Calculation Override extension in the budgeting flow. Utilizing both extensions is supported, but not likely to be necessary.

Examples of Burden Cost Calculations Using the Extension


Building on the example from the previous section, in this scenario, the Overhead for the Labor cost base will be determined by a fixed amount per unit of $32, and the project has a G&A multiplier override (.23) that is used instead of the standard multiplier from the burden schedule.
PRECEDENCE STRUCTURE ASSIGNED TO SCHEDULE

BURDEN COST BASE

PRECEDENCE

BURDEN COST CODE

ENTERED MULTIPLIER

OVERRIDE MULTIPLIER OR RATE

FORMULA

Labor Labor Labor Labor Labor

1 2 2 3

Overhead Fringe G&A Fee

.50 .25 .20 .10

$32/hour

= 32 * Quantity = .25 * (Overhead + Raw Cost)

.23

= .23 * (Overhead + Raw Cost) = .10 *(Overhead + Fringe + G&A + Raw Cost) = Overhead + Fringe + G&A + Fee

Table 5: Example of burden cost calculations using a precedence structure and override rates instead of compiled multipliers.

Utilizing Burdening Extensions in Oracle Fusion Project Portfolio Management

Amy Marlin enters a time card for 8 hours for the ABC project and Amy has a cost rate of $100 an hour. The project is assigned the precedence burden schedule from the previous section. Amy selected the Regular Labor expenditure type and this expenditure type is assigned to the Labor cost base. In order to make these types of calculations, the compiled multipliers cannot be used. The extension needs to calculate amounts for each cost code based on the amount that it calculated for the cost codes with higher precedence.
PRECEDENCE BURDEN COST CODE ENTERED MULTIPLIER FORMULA BURDEN COST

1 2 2 3

Overhead Fringe G&A Fee

.50 .25 .20 .10

= 8 * 32 = .25 * (800 + 256) = .23 * (800 + 256) = (800 + 256 + 264 + 242.88) * .10

$256.00 $264,00 $242.88 $156.29

Table 5: Example of actual burden cost calculations using custom logic

Utilizing Burdening Extensions in Oracle Fusion Project Portfolio Management

Process Flow with Burden Cost Calculations Extension

Figure 3: Calculate burdened cost for each expenditure item using the extension

Utilizing Burdening Extensions in Oracle Fusion Project Portfolio Management

Figure 4: Calculate burden cost for each burden cost code using the extension

Utilizing Burdening Extensions in Oracle Fusion Project Portfolio Management

Figure 5: Calculate burdened cost for each resource assignment using the extension

Implementing the extension


In order to implement the extension, you must first enable it by changing the function PJC_CLIENT_EXTN_OVR_BURDEN_COST.Is_client_extn_implemented to return Y. You then add your custom logic to the procedure PJC_CLIENT_EXTN_OVR_BURDEN_COST.Override_burden cost. Whenever the application calls this procedure during the calculation of planned, budgeted, forecast, or actual burden costs, the related burden cost code details are loaded into a database table or view. The custom logic is designed to take action on this data and update the burden cost amounts for each cost code as required.

This table or view contains entries for each burden cost code associated with the transactions that are being processed. The entered multiplier, compiled multiplier, and structure precedence is included for each record. The burden cost amounts based on the current compiled multipliers are also included. This increases processing efficiency if the custom logic does not impact the multipliers. The transaction attributes that would most likely be used to determine the burden cost amounts are provided as well. These attributes include but are not limited to: transaction type (plan, budget, forecast, actual, test), transaction identifier, project, task, organization, incurred by person, nonlabor resource, quantity, and transaction date.

After the application performs the custom logic and updates the burden cost amounts, it also updates the status on each record to indicate whether the processing was successful. If the application cannot find the rates, then it does not calculate burden costs and it does not update the status. The application updates the transaction with the appropriate error message.

Utilizing Burdening Extensions in Oracle Fusion Project Portfolio Management

Figure 6: Burden Cost Calculation Extension process flow

Handling adjustments to actual burden cost calculated with the extension


Because the normal adjustments flow uses the compiled multipliers from the previous calculation of the burden cost to create reversing transactions, it is not possible to use the same approach when the extension is used to override these multipliers. When a burden cost adjustment is required on an expenditure item, a record is placed in the temporary table with an inverse quantity of the expenditure item. The same rules used to create the initial burden cost amount must be used for the reversal as well. Therefore, the extension logic must include logic to ensure that this is done correctly. One option is to ensure that the rate definitions are date effective, and then the creation date or last update date of the cost distributions can be used to determine which rate to use for the reversals. If this is not possible, then another option is to copy the results of the extension into a permanent table that holds the latest rates and amounts calculated for each expenditure item and cost code combination. No special treatment is required for planned, budgeted or forecast burdened cost. The existing burdened cost amounts are simply replaced with the latest amounts that are calculated.

Utilizing Burdening Extensions in Oracle Fusion Project Portfolio Management

Example

Continuing with the previous example, the following table contains the current cost distributions for the labor expenditure item and its associated summarized burden expenditure items.
TRANSACTION NUMBER DISTRIBUTION NUMBER EXPENDITURE TYPE/BURDEN COST CODE COMPILED_SET_ID PREV _COMPILED_SET_ID BURDENED COST

1 2 3 4 5

1 1 1 1 1

Regular Labor Overhead Fringe G&A Fee

$800 $256.00 $264,00 $242.88 $156.29

The fixed rate for the Overhead Cost Code has been changed to $34. The following table contains the records that would be populated for the extension when the burden cost amount on the Labor expenditure item is recalculated. The burdened cost for each record would have to be updated as described in order to represent the impact of this change correctly.
TRANSACTION NUMBER DISTRIBUTION NUMBER BURDEN COST CODE QUANTITY RAW COST FORMULA BURDENED COST

2 3 4 5 2 3 4 5

1 1 1 1 1 1 1 1

Overhead Fringe G&A Fee Overhead Fringe G&A Fee

-8 -8 -8 -8 8 8 8 8

-$800 -$800 -$800 -$800 $800 $800 $800 $800

= current burdened cost * -1 = current burdened cost * -1 = current burdened cost * -1 = current burdened cost * -1 = 8 * 34 = .25 * (800 + 272) = .23 * (800 + 272) = .10 * (800 + 272 + 268 + 246.56)

($256.00) ($264,00) ($242.88) ($156.29) $272.00 $268,00 $246.56 $158.67

Utilizing Burdening Extensions in Oracle Fusion Project Portfolio Management

The following table contains the new expenditure items and cost distributions. Transaction numbers 6,7,8,9 represent the incremental change of each burden cost code resulting from the increase of the Overhead rate from $32 to $34.
TRANSACTION NUMBER DISTRIBUTION NUMBER EXPENDITURE TYPE/BURDEN COST CODE COMPILED_SET_ID PREV _COMPILED_SET_ID BURDENED COST

1 2 3 4 5 6 7 8 9

1 1 1 1 1 1 1 1 1

Regular Labor Overhead Fringe G&A Fee Overhead Fringe G&A Fee

$800 $256.00 $264,00 $242.88 $156.29 $16.00 $4,00 $3.68 $2.38

Using the Burden Grouping Extension


When the Generate Burden Transactions Process calculates the burden costs associated with each cost distribution, the application groups the results together before it creates the expenditure items.

The standard out of the box grouping is based on the following attributes of the source cost distributions; Project, Task, Expenditure Organization, Project Accounting Period, Capitalizable Status, Billable Status, Transaction Currency, Provider Ledger Currency, Expenditure Type Class, Person Type and Purchase Order Line, and Burden Cost Code.

Utilizing the extension, you can further refine the grouping using the following attributes: Source Expenditure Type, Burden Expenditure Type, Expenditure Item Date, Job, Person, Nonlabor Resource, Nonlabor Resource Organization, Inventory Item, Exchange Rates, Rate Dates, and Rate Types, and all Descriptive Flexfield values.

The extension is implemented as a pl/sql package, pjc_client_extn_burden_summary.

Utilizing Burdening Extensions in Oracle Fusion Project Portfolio Management

Using the Burden Costing Extension


Normally the burden schedule version that is assigned to a transaction is determined by the schedule associated with the task (unless a task or project level override schedule exists) and the version that is effective as of the transaction date (unless a fixed date is specified). By utilizing this extension, you can assign any burden schedule based on attributes of the transaction, or other specific business rules.

This extension is called during the calculation of actual burden costs, planned burdened cost, budgeted burdened cost, forecast burdened cost, and revenue and billing amounts that are based on burden schedules. The extension accepts a transaction type, for example ACTUAL, BILLING, or BUDGET, depending on what process is calling the extension. It also accepts the specific transaction identifier (for example, expenditure_item_id or res_assignment_id), the transaction date, and the task identifier.

The extension returns a burden schedule version identifier, a fixed date (if required), as well as a status.

The extension is implemented as a pl/sql package, pjf_client_extn_burden.

Utilizing Burdening Extensions in Oracle Fusion Project Portfolio Management

UtilizingBurden Extensions in Oracle Fusion Project Portfolio Management April 2011 Author: Dustin Grabowski

Copyright 2011, Oracle and/or its affiliates. All rights reserved. This document is provided for information purposes only and the contents hereof are subject to change without notice. This document is not warranted to be error-free, nor subject to any other warranties or conditions, whether expressed orally or implied in law, including implied warranties and conditions of merchantability or fitness for a particular purpose. We specifically disclaim any liability with respect to this document and no contractual obligations are formed either directly or indirectly by this document. This document may not be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose, without our prior written permission.

Oracle Corporation World Headquarters 500 Oracle Parkway Redwood Shores, CA 94065 U.S.A. Worldwide Inquiries: Phone: +1.650.506.7000 Fax: +1.650.506.7200 oracle.com Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners. Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark licensed through X/Open Company, Ltd. 0611

You might also like