Revenue Accrual

This chapter covers the following topics:

Accruing Revenue for a Project

Oracle Projects generates revenue based on the transactions that you charge to your projects. You configure your projects to accrue revenue based on your company policies. You can review revenue amounts online and you can also adjust transactions. Oracle Projects then processes transactions to adjust the revenue amounts for your project.

When you generate revenue, Oracle Projects calculates revenue, creates revenue events, creates expenditure item revenue details, and maintains funding balances. You run the process PRC: Generate Revenue Accounting Events to derive default GL accounts using AutoAccounting and generate accounting events. You run the process PRC: Create Accounting to create accounting in Oracle Subledger Accounting. If you define your own detailed accounting rules in Oracle Subledger Accounting, then Oracle Subledger Accounting overwrites default accounts, or individual segments of accounts, that Oracle Projects derives using AutoAccounting.

Revenue Flow

The Oracle Projects revenue flow follows the following steps detailed in the Revenue Flow illustration.

1. Generate draft revenue

2. Review revenue

3. Release revenue

4. Generate revenue accounting events

5. Create accounting

This section describes each step, as well as procedures such as adjusting revenue and creating revenue events and hard limits.

Revenue Flow

the picture is described in the document text

Steps Before Generating Revenue

Oracle Projects provides control as to which projects are ready for revenue generation. It processes only funded, fully defined projects.

You must complete the following steps before generating revenue for a contract project in Oracle Projects:

  1. Baseline the project budget and funding

    Note: You must enter and submit an approved revenue budget and allocate funds to the project or task before you can baseline it or automatically create a baseline budget when you baseline funding. See also: Baseline Funding Without Budget, Oracle Projects Implementation Guide.

  2. Distribute costs for billable expenditures charged to the project

    Note: If you do not want to accrue revenue for a specific top task, deselect the Ready to Accrue check box in the Control Billing by Top Task window. Oracle Projects assumes you want to generate revenue and invoices for all billable top tasks on contract projects.

  3. Optionally, revaluate the funding.

Related Topics

Revenue Accrual and Invoice Generation Based on Percent Complete

Creating a Baseline for a Budget Draft, Oracle Project Management User Guide

Entering a Draft, Oracle Project Management User Guide

Entering Agreements

Funding a Project

Submitting Requests, Oracle Projects Fundamentals

Generating and Adjusting Revenue

Funding Revaluation

Revenue Generation Process

When you generate revenue, Oracle Projects first selects projects, tasks, and their associated events and expenditure items that are eligible for revenue generation. Oracle Projects next calculates the potential revenue and then creates revenue events and expenditure items.

During the revenue generation process, revenue and billing amounts are calculated in the billing transaction currency. Revenue is processed using a common currency, called the revenue processing currency, which is always the project functional currency. Revenue amounts in the billing transaction currency are converted to project functional currency, project currency, and funding currency during the revenue generation process.

For expenditure items, exchange rate date for currency conversion is based on the profile option PA: Use Original Exchange Rate Date for Recalculation of Revenue. This profile option determines how previously generated and released revenue is recalculated. When you enable this profile option, the exchange rate date for currency conversion for expenditure items with previously generated revenue is the exchange rate date of the initially created revenue line. For expenditure items where no revenue has been generated, exchange rate date for currency conversion is the open PA Date of the accrue through date of the current revenue run.

If you do not enable this profile option, all expenditure items will have the exchange rate date for currency conversion as the open PA Date of the accrue through date.

Revenue recognition, funds check, and unbilled receivables/unearned revenue are processed in the revenue processing currency. For reporting purposes, Oracle Projects maintains funding balances in the project functional currency, the project currency, and the funding currency.

Note: When you enter conflicting currency conversion rate attributes for the same currency, conversion attributes defined for the project functional currency take precedence over those assigned to the project currency or the funding currency. Conversion attributes defined for the project currency take precedence over those assigned to the funding currency. For more information on currency conversion attributes, see: Currency Conversion Attributes, Oracle Projects Fundamentals.

Related Topics

Entering Events in Any Currency

Generate Draft Revenue, Oracle Projects Fundamentals

Selection Criteria

Revenue is accrued for projects, expenditure items, and events based on the following criteria:

Projects: Oracle Projects first determines if a project is eligible for revenue accrual. To accrue revenue, a project must meet the following criteria:

Expenditure Items: For each project selected, Oracle Projects then selects expenditure items that are eligible for revenue accrual based on the following criteria for items:

If the project uses cost-to-cost revenue accrual, items must also:

If the Date-Effective Funds Consumption option is selected, then the expenditure item date must be within the Agreement start and expiration dates.

Events: For each project selected, Oracle Projects then selects events that are eligible for revenue accrual based on the following criteria for events:

If the Date-Effective Funds Consumption option is selected, then the event date must be within the Agreement start and expiration dates.

Billing Extensions: For each project selected, Oracle Projects then selects expenditure items and events that are eligible for revenue accrual based on the criteria that you define in your billing extensions. If you define transaction independent billing extensions, Oracle Projects executes these extensions for each project with an active billing assignment, even if there are no transactions to process. See also: Billing Extensions, Oracle Projects APIs, Client Extensions, and Open Interfaces Reference.

Calculate Potential Revenue

Oracle Projects next calculates the total potential revenue that can be accrued for each project. Potential revenue is the full revenue amount that could be accrued if enough funding is available. Projects that use task level funding calculate the potential revenue for each task, while projects that are funded at the project level have a single potential revenue amount for the project.

Oracle Projects calculates the bill amounts for all expenditure items when calculating revenue, except for cost and event billing projects, which do not bill expenditure items.

As-Work-Occurs (Time and Materials)

For projects that use as-work-occurs (or time and materials) revenue accrual, the total potential revenue is simply the sum of the revenue of all expenditure items plus events.

For these projects, Oracle Projects calculates the revenue for each expenditure item by applying a bill rate or markup. Items that have partially accrued revenue due to having previously reached a hard limit do not have their revenue and bill rates recalculated. For information on how Oracle Projects determines bill rates for billable expenditure items, see: Using Rates for Billing, Oracle Projects Fundamentals.

After all bill rates are assigned, Oracle Projects rejects those items for which no bill rate or markup is found, and creates distribution warnings.

Note: If a markup is used to calculate revenue and bill amount, and the discount applied to the markup results in revenue that is less than the raw cost, then revenue is billed at raw cost.

Oracle Projects also calculates the bill amounts for each item for projects which accrue cost-to-cost revenue based on percent spent, but bill on a time and material basis.

Determining Billing Titles

As part of the revenue generation process, Oracle Projects determines job and employee billing titles.

Oracle Projects determines the effective job for labor items first from the task assignment override, then the project assignment override, and finally the primary job assignment. It then uses this job, along with the task job title override, project job title override, and primary job title, to determine the job billing title for each labor item.

Oracle Projects determines the employee billing title for labor items from the task employee billing title override, the project employee billing title, and the primary employee billing title.

See also:

Job Assignment Overrides, Oracle Projects Fundamentals

Job Billing Title Overrides, Oracle Projects Fundamentals

Cost-to-Cost (Percent Spent)

For projects using cost-to-cost revenue accrual method, Oracle Projects uses the following formula to calculate revenue (in the project functional currency) to accrue for the revenue generation run:

CCR(RUN) = Lesser of (Remaining funding available if using hard limit) and ((AC/BC (BR-ER))- AR)

Where, for a project or task: CCR(RUN) = Cost-to-cost revenue for current run

Note: *Oracle Projects uses the cost and revenue budget types that you specify on the Cost-to-Cost billing extension.

Oracle Projects accrues the cost-to-cost revenue using an automatic event with an event type that you specified for the cost-to-cost billing extension. See: Billing Extensions, Oracle Projects APIs, Client Extensions, and Open Interfaces Reference.

Related Topics

Revenue Accrual and Invoice Generation Based on Percent Complete

Overview of Rates, Oracle Projects Fundamentals

Creating Event and Expenditure Item Draft Revenue

After Oracle Projects calculates potential revenue for expenditure items, it searches for agreements against which to accrue draft revenue, based on the project customer billing contributions and the amount of funding available. Oracle Projects first creates draft revenue for events, then for expenditure items.

Related Topics

Accounting Transactions for Revenue

Revenue Flow Detail Report, Oracle Projects Fundamentals

Potential Revenue Summary Report, Oracle Projects Fundamentals

Generating and Adjusting Revenue

You can generate revenue for a single project, or for a range of projects using the PRC: Generate Draft Revenue process.

Note: You can also delete the revenue of a single project using the PRC: Delete Draft Revenue of a Single Project process. See: Delete Draft Revenue of a Single Project, Oracle Projects Fundamentals.

When you generate revenue, Oracle Projects first selects projects, tasks, and their associated events and expenditure items that are eligible for revenue generation. Oracle Projects next calculates the potential revenue and then creates revenue events and expenditure items. See: Revenue Generation Process.

Oracle Projects also calculates the bill amounts of each expenditure item, based on the revenue accrual method associated with a particular project.

When Oracle Projects creates revenue, it also searches for available funding for each revenue item. We discuss each of these topics in detail below after we tell you how to generate revenue.

To generate revenue across a range of projects

  1. Submit the PRC: Generate Draft Revenue for a Range of Projects process in the Submit Request window to run multiple revenue generation processes. See: Submitting Requests, Oracle Projects Fundamentals.

    Tip: You should run Generate Draft Revenue on a specified processing cycle (for example, weekly) to calculate revenue for projects across the company. You can also run the process on demand by project to process adjustments.

    Use the rescheduling parameters to configure the Generate Draft Revenue process to run automatically, according to a defined schedule.

To generate revenue for a single project

  1. Submit the PRC: Generate Draft Revenue for a Single Project process from the Submit Request window. See: Submitting Requests, Oracle Projects Fundamentals.

Deriving Revenue in Foreign Currency

Oracle Project Billing always generates revenue in project, project functional, and project funding currencies. Oracle Project Billing generates invoice amounts in invoice transaction currency. The invoice transaction currency is an attribute that you define for each customer. On a multi-currency project the invoice transaction currency can be a foreign currency. To include exchange rate gains or losses in foreign currency for unbilled receivables and unearned revenue amounts when revaluating accounts in Oracle General Ledger, Oracle Projects enables you to derive revenue including unbilled receivables and unearned revenue in invoice transaction currency.

Note: To derive revenue in the invoice transaction currency, disable the Invoice by Bill Transaction Currency option when defining the currency options for your project.

You can define Revenue Transaction Currency options for your project. By default, Oracle Project Billing selects the Project Functional Currency Only option for revenue transaction currency. This ensures that the Generate Draft Revenue concurrent program generates revenue in project functional currency. To enable the Generate Draft Revenue concurrent program to additionally derive revenue in invoice transaction currency, select the Project Functional Currency and Invoice Transaction Currency option.

When you select Project Functional Currency and Invoice Transaction Currency as your revenue transaction currency, the Generate Revenue Accounting Events process calculates unbilled receivables and unearned revenue amounts in invoice transaction currency. For information on the calculation formula, see: Generate Revenue Accounting Events, Oracle Projects Fundamentals.

Note: For realized gains or losses events, because these amounts are always only calculated in project functional currency, the revenue transaction amounts for these is always zero.

The following diagram illustrates the flow that the Generate Draft Revenue concurrent program uses to derive revenue in foreign currency. By default, the Generate Draft Revenue concurrent program uses the billing amounts entered in billing transaction currency to generate revenue amounts in project, project functional, and project funding currencies. If you select Project Functional Currency and Invoice Transaction Currency as your revenue transaction currency, the Generate Draft Revenue concurrent program converts the revenue it generates in project functional currency to revenue in invoice transaction currency.

Process Flow for Converting Revenue To Invoice Transaction (Foreign) Currency

the picture is described in the document text

Related Topics

Reviewing Revenue

Billing in a Global Environment

Generate Draft Revenue, Oracle Projects Fundamentals

Billing Currency Options, Oracle Projects Fundamentals

For information on revaluing balances, see the Oracle General Ledger User’s Guide.

Revenue Accrual and Invoicing

Generate Draft Revenue uses the overrides and schedules to process projects using As Work Occurs revenue accrual and/or invoicing. These projects are assigned one of the following distribution rules: WORK/WORK, WORK/EVENT, EVENT/WORK.

Burden Schedules

Generate Draft Revenue follows the burden schedule precedence for items charged to tasks that use a burden schedule; it does not use bill rate overrides for these items.

Burden Schedules and Labor Multipliers

You may decide to use labor multipliers instead of a labor burden schedule if you are using a one tier multiplier for labor items. With a one tier labor multiplier, the use of labor multipliers and burden schedule overrides for labor will result in same bill amounts but the method of processing will be different.

You can also use labor multipliers with a standard burden schedule for multiplier-tier revenue accrual and billing. This allows you to define one negotiated labor multiplier on top of the standard cost buildup provided by the standard burden schedule. The labor multiplier is treated as another burden multiplier. The calculation is:

Bill Amount = Burdened Amount X (1 + Labor Multiplier)

You can also report this labor multiplier as another burden cost component in the PA_INV_BURDEN_DETAILS_LM_V view. The labor multiplier component is not displayed in the PA_INV_BURDEN_DETAILS_V view. See: Oracle eBusiness Suite Electronic Technical Reference Manual.

Bill Rate Schedules

Generate Draft Revenue follows the standard bill rate precedence for items charged to tasks that use a bill rate schedule. This precedence includes employee bill rate overrides, job bill rate overrides, non-labor bill rate overrides, job assignment overrides, and task schedules.

Related Topics

Revenue Flow Detail Report, Oracle Projects Fundamentals

Potential Revenue Summary Report, Oracle Projects Fundamentals

Using Rates for Billing, Oracle Projects Fundamentals

Release Revenue, Generate Revenue Accounting Events, and Create Accounting

After you release revenue, you run the concurrent programs PRC: Generate Revenue Accounting Events and PRC: Create Accounting. When you run the concurrent program PRC: Create Accounting in final mode, you can choose to have the concurrent program transfer the final accounting to Oracle General Ledger.

You cannot update or delete released revenue. Oracle Projects processes adjustments to released revenue by adjusting revenue transactions.

When you generate revenue for a range of projects, it has a status of Released. When you generate revenue for a single project, it has a status Pending.

Releasing Revenue

You can release revenue using the Revenue Review window.

When you release an invoice which is based on revenue details (such as a Time and Materials invoice), Oracle Projects automatically releases the associated revenue. You use the Invoice Summary window to release an invoice.

If you regenerate draft revenue for a single project, then the process deletes any Pending draft revenue and replaces it with the new amount.

Generating Revenue Accounting Events

After you generate and release the revenue, you run the concurrent program PRC: Generate Revenue Accounting Events. The concurrent program determines default unearned revenue and unbilled receivables accounts using AutoAccounting and generates accounting events for Oracle Subledger Accounting.

Note: If you set the profile option PA: Interface Unreleased Revenue to GL to yes, then Oracle Projects automatically releases any unreleased revenue when you run the concurrent program PRC: Generate Revenue Accounting Events. For information about this profile option, see: Profile Options, Oracle Projects Implementation Guide.

Creating Accounting

You run the concurrent program PRC: Create Accounting to create accounting entries in Oracle Subledger Accounting for the accounting events. If you define your own detailed accounting rules in Oracle Subledger Accounting, then Oracle Subledger Accounting overwrites default accounts, or individual segments of accounts, that Oracle Projects derives using AutoAccounting. When you run the concurrent program PRC: Create Accounting in final mode, you can choose to transfer the final accounting to Oracle General Ledger.

Related Topics

Releasing Invoices

Submitting Requests, Oracle Projects Fundamentals

Integrating with Oracle General Ledger, Oracle Projects Fundamentals

Integrating with Oracle Subledger Accounting, Oracle Projects Fundamentals

Adjusting Revenue

Revenue is automatically adjusted when you adjust an invoice that bills the associated revenue. You can adjust draft revenue and draft invoices by adjusting expenditure items using the Expenditure Items window. For example, you can change the status of an expenditure item from billable to non-billable, or transfer an expenditure item to a different project from the one it is charged to.

Important: Make all revenue adjustments in Oracle Projects. Do not adjust project revenue in Oracle General Ledger, because the revenue amounts will not reconcile to the amounts in Oracle Projects.

After you adjust revenue in Oracle Projects, you run the concurrent program PRC: Generate Revenue Accounting Events to generate revenue accounting events for the adjustments. Next, you run the concurrent program PRC: Create Accounting to create accounting for the accounting events in Oracle Subledger Accounting.

Oracle Projects predefines a Revenue Adjustment event class and specifies that the Revenue event class is its predecessor in Oracle Subledger Accounting. This approach ensures that the concurrent program PRC: Create Accounting creates accounting for the original revenue transactions before it creates the accounting for any adjustments. This sequence is important because the final accounting for adjustments is based on the final subledger accounting for the original transactions. For additional information, see: Integrating with Oracle Subledger Accounting, Oracle Projects Fundamentals.

Note: If you disable the predefined journal line types and create your own, you must define two journal line types, one for the original revenue transaction and one for the adjustment.

You also can create revenue events to adjust the revenue amount associated with a project, independent of the expenditure items charged to the project. Revenue events have a classification of Write-On, Write-Off, Manual, or Automatic. You use the Events window to enter revenue events for projects or top tasks. The Events window is accessible from the Billing Information option.

Related Topics

Adjustments to Supplier Costs, Oracle Project Costing User Guide

Adjusting Expenditure Items, Oracle Project Costing User Guide

Events

Entering Project and Task Options, Oracle Projects Fundamentals

Entering Tasks (WBS) for a Project, Oracle Projects Fundamentals

Reviewing Revenue

Use the Revenue Review windows to review detailed information about project revenue.

The information you can view in these windows includes:

You can use Revenue Review to delete or regenerate a project's unreleased revenue or to release and unrelease revenue. See: Revenue Flow.

Access to Revenue Review can be controlled by function security and project security. Function security can be used to control the release, unrelease, and run functions in Revenue Review. For more information, see: Function Security in Oracle Projects, Oracle Projects Implementation Guide.

Revenue Summary Window Reference

Use this window to view information about the revenue that meets your search criteria. The Revenue Summary window uses folder technology, allowing you to customize the window to display the fields you want to view.

The following table shows some of the fields available for display in the Revenue Summary window:

Item Description
Accrue Through The accrue through date used to calculate the draft revenue
Agreement The number of the agreement providing the revenue funding
Credited Number The number of the draft revenue that was credited by this revenue (if this revenue credits another revenue number)
Customer Bill Split The percentage of billing to the customer
Customer Customer name
Customer Number Customer number
Draft Revenue The draft revenue number
Exception Reason Revenue exception reason
Generation Error Check box indicating if there was a revenue generation error
GL Date The date of the GL posting period
Interface Date Date the revenue accounting event was generated
PA Date The date of the PA period in which the revenue was generated
Project Name The name of the project on which the revenue was earned
Project Number The number of the project on which the revenue was earned
Released Date Date released
Resource Accumulated Check box indicating if accumulated to a resource
Project Functional Revenue Amount The revenue amount in project functional currency
Revenue Status Revenue status
Project Functional UBR Amount of unbilled receivable for the revenue. The Revenue window also displays the corresponding account number.
Project Functional UER Amount of unearned revenue included in the revenue amount. The Revenue window also displays the corresponding account number.
Project Functional Revenue Currency The currency code for the project functional currency.

Revenue Window

Use the Revenue window to view all of the revenue information for a single draft revenue in one window. In addition to the information in the Revenue Summary window, the Revenue window displays the following information:

Revenue Window Selections

From the Revenue window, you can choose Run Request, Unrelease, or Release. These buttons are described under Revenue Summary Window Reference.

Select Lines to display the lines that comprise the selected revenue. See: Revenue Lines Window.

Revenue Processing Information

The Review window contains revenue processing information displayed in two tabbed regions. You can display the region you want by selecting from the tab control:

Revenue Lines Window

The Revenue Lines window displays the task, revenue source, revenue category, and amount for the revenue lines that comprise a draft revenue item.

The Revenue Lines window displays the following information for each selected revenue line:

Choose Details to view details of the selected revenue line in the Revenue Line Details window.

Revenue Line Details Window

Use the Revenue Line Details window to view revenue line details for a selected revenue line. The Revenue Line Details window uses folder technology, allowing you to customize the window to display the fields you want to view. Some of the fields available for display in this window are:

How to Review Revenue

To review project revenue

  1. Navigate to the Find Revenue window.

  2. Enter your search criteria and then choose Find.

    The Revenue Summary window opens.

    For a description of the fields displayed in the Revenue Summary window, see Revenue Summary Window Reference.

    If you select multiple lines, the Release and Unrelease buttons will display the number of items you selected (for example, Release 1, Release 2, etc.) See: Selecting Multiple Records Oracle Applications System Administrator's Guide

  3. From the Revenue Summary window, choose:

    • Run Request to regenerate revenue or delete revenue for a project. When you delete or regenerate draft revenue using this window, you submit the PRC: Generate Draft Revenue process or the PRC: Delete Draft Revenue of a Single Project process.

      You can delete draft revenue or regenerate draft revenue only for revenue having a status of Unreleased or Generation Error.

      If you regenerate draft revenue for a project that has unreleased draft revenue, Oracle Projects deletes the project's unreleased draft revenue before it creates new draft revenue.

      See: Generate Draft Revenue, Oracle Projects Fundamentals.

    • Unrelease to change revenue status from Released to Unreleased.

      Note: You can unrelease revenue only if you have not performed any of the following actions: released draft invoices for this draft revenue, subsequently generated draft revenue, and summarized draft revenue for the project.

    • Release to release unreleased revenue.

      Note: You cannot release revenue if you encountered any errors while generating the draft revenue.

    • Totals to view the total revenue amount for the draft revenue displayed based on your search criteria.

    • Lines to view the revenue lines. See: Revenue Lines Window.

    • Open to view all of the revenue information for a single draft revenue on one screen. See: Revenue Window.

Viewing Accounting Lines

You can use the View Accounting option from the Tools menu to review the accounting entries for revenue transactions for which you have created accounting in Oracle Subledger Accounting. If the revenue is not accounted in Oracle Subledger Accounting, then the drilldown does not show any information.

You must run the process PRC: Create Accounting in final mode for the accounting events associated with the revenue transactions before you can view the accounting entries. If a revenue transaction has multiple revenue distribution lines, then you can see the accounting only for those revenue distribution lines accounted in Oracle Subledger Accounting.

To view accounting lines

  1. Query the revenue transaction you want to view.

  2. Choose View Accounting from the Tools menu.

    You see the View Revenue Accounting window.

    Note: The View Revenue Accounting window is a folder that you can customize to add or remove columns. See: Customizing the Presentation of Data in a Folder Oracle Applications User's Guide.

  3. (Optional) To view the accounting detail for the selected line as T-accounts, choose T-Accounts. In the Options window that opens, select from the Default Window poplist, and then choose from the window buttons to drill down.

    Note: From an Oracle General Ledger journal, you can select the Drilldown option from the Tools menu to view subledger journal entry lines associated with that journal. See: Drilling Down to Oracle Projects from Oracle General Ledger, Oracle Projects Fundamentals.

  4. (Optional) You can view accounting in reporting currencies when you assign reporting currencies to a ledger. To view accounting in a reporting currency, select the Reporting Currency button. Next choose a ledger in the Choose Reporting Currency window, and select the Change button.

Accruing Revenue and Generating Invoices Based on Percent Complete

Oracle Projects can generate revenue and invoices based on the financial physical percent complete that you enter for a project. You can enter the physical percent complete for all the levels in the financial breakdown structure (FBS). However, to generate revenue or invoices based on physical percent complete, you must have physical percent complete at the funding level (project or top task).

Note: The currency of the automatically created events is always the project functional currency. Conversion attributes entered in the Billing Assignments window are not used by the Percent Complete extension. See: Currency Conversion Attributes, Oracle Projects Fundamentals.

You enter physical percent complete for an As Of Date. Oracle Projects can maintain physical percent complete history. When you use physical percent complete as the basis for revenue accrual or generation of draft invoices, Oracle Projects uses the As Of Date to determine the corresponding physical percent complete.

Depending on the type of integration between the workplan and financial structure on a project, Oracle Projects can update physical percent complete on the financial structure using the physical percent complete for tasks on the workplan structure. For information on integration between workplan and financial structures, see: Integrating Workplan and Financial Structures, Oracle Projects Fundamentals.

Oracle Projects rolls up the physical percent complete on the financial breakdown structure based on the physical percent complete rollup method that you set for the financial structure. For information on updating physical percent complete on the financial structure, see: Deriving Physical Percent Complete for Financial Structures, Oracle Project Management User Guide.

Revenue accrual based on physical percent complete is different from percent complete based on a budget (Actual Cost / Budgeted Cost). The method based on budgets, is also sometimes referred to as Percent Spent or Cost-to-Cost Revenue Accrual. See: Cost-to-Cost (Percent Spent).

Revenue accrual based on physical percent complete is also different from revenue accrual on an as-work-occurs (or time and materials) basis, where the total potential revenue is the sum of the revenue of all expenditure items plus events. See: As Work Occurs (Time and Materials).

Oracle Projects performs the physical percent complete revenue calculation using the following predefined billing extensions:

The revenue and invoice processes call the appropriate billing extension to calculate the revenue or invoice amount and to create an event. The percent complete extensions pick up physical percent complete at the project level that is rolled up from the task level, as well as user-entered physical percent complete.

See also, Setup Requirements for Percent Complete Revenue and Invoicing, Oracle Projects Implementation Guide.

Processing Percent Complete Revenue and Invoicing

To accrue revenue or generate draft invoices based on physical percent complete, you submit the PRC: Generate Draft Revenue or PRC: Generate Draft Invoices process. To submit the process for one project, submit PRC: Generate Draft Revenue for a Single Project or PRC: Generate Draft Invoice for a Single Project. You can also submit a project streamline request.

The revenue or invoice process performs the following steps:

  1. The process calls the billing extension for each project or top task (depending on whether the project is funded at the project or top task level). The calling procedure specifies whether it is a revenue or invoice calling process and whether the call is made at the project or task level.

  2. The billing extension determines the budget amounts, event amount, existing revenue amounts, funding balance, and physical percent complete.

  3. If the physical percent complete cannot be determined, then the physical percent complete used by the process is zero, the revenue or draft invoice amount is zero, and no event is created.

  4. The process calculates the accrued revenue or draft invoice amount, using the formulas shown in the formulas described under Percent Complete Revenue Accrual and Percent Complete Invoice Generation.

  5. The billing extension creates an event. The description of the event includes the event type and the formula that was used to calculate the revenue or draft invoice amount.

Percent Complete Revenue Accrual

The Percent Complete Revenue Accrual formula is shown below:

Accrued Revenue = the lesser of A or B:

Where

Percent Complete Invoice Generation

The Percent Complete Invoice Generation formula is shown below:

Draft Invoice = the lesser of A or B

Where

The event revenue or invoice is subtracted from budgeted revenue to obtain the net available budgeted revenue or invoice amounts. The process then effectively apportions the event revenue or invoice for the duration of the project.

Agreements with Hard Limits

If the agreement funding the project has a hard limit, the Remaining Funding Balance is the amount of funding left. This portion of the formula (part A) is required because revenue for an event cannot be partially accrued. If the amount calculated in part B of the formula is greater than the amount of funding, then the Remaining Funding Balance is taken as the accrued revenue or draft invoice. An event is still created in this case.

If the agreement has no hard limit, only part B of the formula is used.

Related Topics

Percent Complete

Events

Event Types, Oracle Projects Implementation Guide

Billing Extensions, Oracle Projects APIs, Client Extensions, and Open Interfaces Reference

Automatic Events, Oracle Projects APIs, Client Extensions, and Open Interfaces Reference

Setting Up Cost-to-Cost Revenue, Oracle Projects Implementation Guide

Entering Agreements

Generate Draft Invoices, Oracle Projects Fundamentals

Generate Draft Revenue, Oracle Projects Fundamentals

Percent Complete

You can enter physical percent complete manually for a financial structure. You also have the option to update physical percent complete using workplan physical percent complete values. Oracle Projects can use physical percent completion information for revenue accrual and billing, and for reporting purposes.

You can maintain physical percent complete information at all levels of the financial structure. Oracle Projects maintains a history of the physical percent complete information.

In addition, you can use, an API (application program interface) to maintain physical percent complete information. The interface is named UPDATE_PROGRESS. See: Oracle Project Management APIs, Oracle Projects APIs, Client Extensions, and Open Interfaces Reference.

Physical percent complete entries can be used in billing extensions. See: Designing Billing Extensions, Oracle Projects APIs, Client Extensions, and Open Interfaces Reference.

Related Topics

Accruing Revenue and Generating Invoices Based on Percent Complete

Deriving Physical Percent Complete for Financial Structures, Oracle Project Management User Guide

Work Types, Oracle Projects Implementation Guide

Revenue-Based Cost Accrual

Cost accruals are the accounting transactions to account for expenses in the same accounting period in which revenue is generated. Cost accruals are also referred to as Cost of Goods Sold or Cost of Sales.

According to the matching principle required by Generally Accepted Accounting Principles (GAAP), expenses (cost) incurred in earning revenue must be accrued in the same accounting period as the revenue. If you do not follow this matching principle, the financial statement and the reported profitability of the company are affected. If the current period expenses are accrued immediately, but related revenues are accrued in a future period, then the profitability of the company is reduced for the current period. To conform to the matching principle, you must defer expenses until revenue is accrued.

In Oracle Projects, cost distribution and revenue generation are two separate processes. Consequently, it is possible to account for expenses (costs) and revenue in different accounting periods. You must determine your accounting procedures and setup to ensure that you match expenses to revenue.

You must determine if your company uses cost accruals during revenue generation. The answer depends on the revenue accrual methods that your company uses. Some companies recognize revenue in the same period as costs. This type of accounting is typically done with work based or time and materials revenue accrual. For such companies, cost accruals are not needed. Other companies use a method that recognizes revenue in future periods after cost is accrued. For these companies, cost accruals are required.

With cost accruals, you initially account for the costs incurred as an asset in a cost work in process (WIP) account. You determine whether you account raw or burdened cost as the cost WIP. When you accrue revenue, the costs are recognized as expense by using cost accruals.

Cost Accrual Implementation Example

Oracle Projects provides an example implementation of cost accruals. The example includes billing extensions that create events to produce the appropriate accounting. See: Cost Accrual Calculation using Billing Extensions, Oracle Projects Implementation Guide.

You can use the example with the provided extensions without modification. Your business requirements for cost accruals may be different from the requirements on which the example is based. If this is the case, you must implement your own cost accrual process and logic, using the example provided by Oracle Projects as a model. See: Implementing Your Own Cost Accrual Procedures and Extensions, Oracle Projects Implementation Guide.

The implementation example illustrates how to perform the following activities required for cost accrual:

Cost Accrual Accounting Entries

The implementation examples for cost accruals provided by Oracle Projects generate the following accounting entries for cost accruals:

The following table shows the accounting entries for distributing costs (may be raw or burdened costs):

Account Debit Credit
Cost WIP Account (Asset) <Cost Amount>  
Expense Clearing Account (Liability)   <Cost Amount>

The following table shows the accounting entries for generating revenue:

Account Debit Credit
UBR/UER Account (Asset/Liability) <Revenue Amount>  
Revenue Account (Revenue)   <Revenue Amount>
Cost Accrual (Expense) <Cost Accrual Amount>  
Cost Accrual Contra Account (Contra Asset)   <Cost Accrual Amount>

The following table shows the accounting entries for project closing:

Account Debit Credit
Cost Accrual Contra Account (Contra Asset) <Cost Accrual Amount>  
Cost Accrual Account (Expense) (Balancing entry; may be credit if cost accrual amount is greater than cost amount) <Cost Amount> less <Cost Accrual Amount>  
Cost WIP Account   <Cost Amount>

Cost Accrual Accounting

In cost accrual accounting, costs are accounted for in a cost WIP account as they are incurred and distributed during the life of the project. You determine if you account for cost WIP with the raw or burdened costs. Based on this decision, you define your AutoAccounting rules for the raw cost or burdened cost accounting.

Note: If you define your own detailed accounting rules in Oracle Subledger Accounting, then Oracle Subledger Accounting overwrites default accounts, or individual segments of accounts, that Oracle Projects derives using AutoAccounting.

As revenue is accrued, the cost accrual amount is calculated and the expense account is debited via a Cost Accrual entry. A Cost Accrual Contra account is credited. A Cost Accrual Contra account is used instead of a Cost WIP account to allow you to easily view and reconcile the Cost WIP and Cost Accrual Contra accounts during the life of the project.

When the project is pending close, you must perform appropriate project closing entries. At this time you must ensure that the Cost Accrual (expense) amount equals the Cost WIP amount. You must fully credit the Cost WIP account and debit the Cost Accrual Contra account. When this is done, you have moved all cost WIP amounts to the Cost Accrual (expense) account. The balancing entry that accounts for the difference of the cost accrual amount and the cost amount is an entry to the Cost Accrual account.

If the project status is changed from a closed status to an active status after closing entries, the closing entries are automatically reversed the next time the Generate Draft Revenue process is run for the project. See: Close the Project.

Case Study: Using Cost Accrual for a Project

A Project is created with the following values:

One additional task, Task 2, is added.

Budget and Fund the Project

The following uncategorized, non-time-phased budgets are created:

Enter Timecard

The following timecard is entered:

Batch: CA-01-tc

Ending Date: 13-APR-1997

Employee: Marlin, Amy

You enter, submit, and release the pre-approved timecard batch shown in the following table:

Expenditure Item Date Project Number Task Number Expenditure Type Quantity Raw Cost
12-APR-1977 CA-Project01 1 Professional 50 3000
13-APR-1997 CA-Project01 2 Professional 50 3000
Total       100 6000

You run the process PRC: Distribute Labor Costs. The cost rate for Amy Marlin is $60.00 per hour. Next, you run the process PRC: Generate Cost Accounting Events with Labor Costs as the value for the Process Category parameter. Finally, you run the process PRC: Create Accounting in final mode with Labor Costs as the value for the Process Category parameter. This process creates subledger accounting entries for the labor costs.

The accounting entries shown in the following table are created for these costs:

Account Debit Credit
Cost WIP 6,000.00  
Payroll Clearing   6,000.00

Generate Revenue and Cost Accrual

You run the process PRC: Generate Draft Revenue for a Single Project. Because this project uses the WORK/WORK revenue distribution rule, the draft revenue is calculated as follows:

(100 hours * $1,000 per hour) - 0 = $100,000

The cost accrual is calculated as follows, using the algorithm in the Revenue-Based Cost Accrual Formula Example, Oracle Projects Implementation Guide.

(100,000 / 1,000,000 * 250,000) -0 = 25,000

The cost accrual events are created and accounted as shown in the following table:

Account Debit Credit
Cost Accrual 25,000.00  
Cost Accrual Contra   25,000.00

Revenue accounting entries are created as shown in the following table:

Account Debit Credit
Unbilled Revenue 100,000.00  
Revenue   100,000.00

After you release the revenue, you run the process PRC: Generate Revenue Accounting Events. Finally, you run the process PRC: Create Accounting in final mode with Revenue as the value for the Process Category parameter. This process creates subledger accounting entries for the revenue.

Close the Project

Using the Project Closing procedure, the project status is set to Pending Close. This status change initiates the closing cost accrual entries. You run the process PRC: Generate Draft Revenue for a Single Project and the process creates and accounts for three events as shown in the following table:

Account Debit Credit
Cost Accrual Contra 25,000.00  
Cost WIP   6,000.00
Cost Accrual (Balance so that Cost Accrual = Cost WIP at end of project)   19,000.00

After you release the revenue, you run the process PRC: Generate Revenue Accounting Events. Finally, you run the process PRC: Create Accounting in final mode with Revenue as the value for the Process Category parameter. This process creates subledger accounting entries for the revenue.

The project status can now be changed to Closed. If the project is reopened (if its status is changed to an active status with a system status other than Pending Close or Closed), these three events are reversed the next time the Generate Draft Revenue process is run for the project.

Other Revenue Issues

This section discusses the following revenue issues:

Funding and Multiple Customers or Multiple Agreements

When you generate revenue, Oracle Projects determines which agreement an event or revenue item is accrued and billed against. Each time Oracle Projects finds available funding for an expenditure item or an event, it creates a revenue item and updates the funding amount billed on that agreement.

Expenditure Items and Events

When revenue is generated, the system searches for agreements that fund the project against which to accrue potential revenue. When an agreement is found against which to accrue revenue, the appropriate funding record is updated with the amount accrued.

Whenever Oracle Projects creates draft revenue against an agreement, the event revenue is split among the customers on the project according to their bill split percentage.

If Oracle Projects cannot find enough funding for the full potential revenue amount, it creates partial revenue for the expenditure items.

If multiple agreements fund the revenue generated for an expenditure item or event, Oracle Projects creates a revenue distribution line for each project (or task) and agreement funding the revenue. Therefore, a single expenditure item or event may have more than one revenue distribution line, with each line billed on separate invoices.

When the Date-Effective Funds Consumption option is enabled for a project, the system does not create partial revenue for expenditure items or events. The full amount is always applied against the funding from one agreement, and appears on only one invoice. (An exception to this is if the expenditure item is recalculated, and is split into multiple draft revenue.)

Hard Limits and Partial Accrual

Hard Limits

You specify a hard limit for an agreement to limit revenue accrual and billing of a project funded by that agreement to the amount funded. You specify whether to use hard limits in the Agreement window. Funding cannot be reduced below the accrued revenue if hard limit for revenue exists. See: Entering Agreements.

Events

Oracle Projects accrues revenue for an event only if enough funding is available to accrue the full event amount.

Expenditure Items and Partial Accruals

Unlike events, for which revenue can be accrued only if funding exists for the full amount of the event, expenditure items can be partially accrued against agreements with hard limit funding. You can accrue expenditure item revenue up to hard revenue limits by partially accruing the potential revenue.

Note: Partial accruals are only permitted for projects that do not have the Date-Effective Funds Consumption option enabled.

If Oracle Projects encounters expenditure items funded by an agreement with a hard revenue limit, and all of the potential revenue cannot be accrued on the agreement, the expenditure items for the current revenue generation run of the project are marked as partially accrued. These partially accrued items can be fully accrued by adding more funding before the next time you generate revenue.

Oracle Projects calculates the proration for partial accruals based on the following formula:

AR(ITEM) = PR(ITEM)/PR(RUN) *AR(RUN)

Where, for an item:

For example, say Task 3.0 is funded with $1,000 from an agreement with a hard limit, and expenditures charged to the task create potential revenue of $6940, which is in excess of $1,000. When revenue is generated for task 3.0, Oracle Projects reaches the revenue limit at $1,000. Oracle Projects creates partially distributed revenue for the task and accrues a portion of each expenditure item's potential revenue as we show in the table below:

Employee Name Labor Hours Bill Rate Potential Revenue * Partially Distributed Revenue
Cheng 6 hours 180.00 1,080.00 155.62
Cheng 6 hours 180.00 1,080.00 155.62
Gray 6 hours 100.00 600.00 86.46
Gray 6 hours 100.00 600.00 86.46
Marlin 2 hours 145.00 290.00 41.79
Marlin 2 hours 145.00 290.00 41.79
Robinson 6 hours 250.00 1,500.00 216.13
Robinson 6 hours 250.00 1,500.00 216.13

Total Potential Revenue is $6940.00. Potential revenue is the amount of revenue that would have been generated with sufficient funding or no hard limit.

Total Partially Distributed Revenue is $1000.00.