When you call billing extensions during revenue generation, you can create events with a revenue amount, or with a revenue amount and a bill amount, as long as the revenue amount is nonzero.
When you call billing extensions during invoice generation, you can create events with a bill amount, or with a revenue amount and a bill amount, as long as the bill amount is nonzero.
The following table provides examples of events with various revenue and bill amounts that you can create in the two calling processes.
|Billing Extension||Event||Revenue Amount||Bill |
|Called in Generate Draft Revenue|
|1||1||100||100||Bill amount is not processed until revenue for the event is distributed|
|2||2||100||-||Revenue event only|
|Called in Generate Draft Invoice|
|3||1||100||100||Revenue amount is not processed until the invoice on which the event is billed is released|
|4||2||-||100||Invoice event only|
|Table 1 - 111. Calling Process: Example Events (Page 2 of 2)|
You can create a billing extension that is called by both revenue generation and invoice generation. You would do this if your billing calculation is similar for both the revenue and bill amounts, with the exception that the event revenue amount is based on the accrued revenue, and the event bill amount is based on the amount invoiced. You can write your procedure to have the same logic for the calculation but to use the appropriate input of either accrued revenue or amount invoiced into your calculation. With this approach of writing one procedure and one billing extension, you can avoid duplication of your logic. In addition, your project users only need to assign one billing extension to their projects, instead of two billing extensions - one for revenue accrual and one for invoicing.
Figure 1 - 66.
When Revenue Processes Call Billing Extensions
Figure 1 - 67.
When Invoice Processes Call Billing Extensions
You can create automatic events in this step. If you transfer these events to Oracle Receivables for autoinvoicing, link the automatic event invoice lines to their corresponding events in the original invoice. See: Inserting Events. Oracle Projects calls a billing extension in this step after all of the crediting revenue and invoices are created.
You can create automatic events in this step. Oracle Projects calls a billing extension in this step after all non-crediting revenues and invoices are created.
The following table shows an example of the different automatic events created by using different calling places for a billing extension based on a percentage of the amount invoiced.
|Automatic Event Amount|
|Period||Invoice Number||Invoice Credited||Invoice Amount||Regular & Adjustment||Regular|
|Table 1 - 112. Calling Place: Example Events (Page 1 of 1)|
Transaction independent billing extensions are executed for each project with an active billing assignment, even if there are no transactions to process. This type of billing extension relies on an input other than billable transactions on a project. If this input changes, the calculated billing amount changes, which you want to record. For example, the cost-to-cost revenue accrual method, which relies on the budgeted cost and revenue amounts. If the budgeted cost or budgeted revenue changes, the revenue amount changes. You want to record this revenue amount change even if no other transactions are processed in revenue generation. This category includes the class of billing extensions that calculate revenue and invoice amounts based on values independent of the amounts included on draft revenue and invoices.
Note: If you design a billing extension to be transaction independent, it will be executed in every run of the revenue or invoice processes.
Transaction dependent billing extensions are executed only if there are other transactions processed. An example of this type of billing extension is surcharge in which you calculate a percentage of the amount billed. You do not want to bill surcharge if no other transactions are billed.
Transaction dependent billing extensions are called only if billable expenditure items and events exist that need to be processed. For example, there may be new transactions that are set to Non-Billable, which are not going to generate any revenue or bill amount and will not cause the billing extension to be called. This category includes billing extensions that calculate revenue and invoice amounts based on (i) a function of the revenue and invoice amounts included on draft revenue and invoices, or (ii) the attributes of a group of transactions included on draft invoices.
The following table shows an example of transaction dependent and transaction independent billing extensions. Billing extension 1, which is transaction dependent, calculates 10% of the invoice amount. Billing extension 2, which is transaction independent, bills $100 per period regardless of amount invoiced in that period.
|Automatic Event Amount|
|Period||Invoice Number||Invoice Credited||Invoice Amount||Transaction Dependent||Transaction Independent|
|Table 1 - 113. Transaction Independent Example: Example Events (Page 2 of 2)|
You should call any transaction dependent billing extension in both regular and adjustment processing. This will ensure that all adjustments, including those that do not result in a new non-crediting amount, are properly accounted for. For example, you may have a non-billable adjustment which reverses amounts, but does not process any new non-crediting amounts.
You only need to call your transaction independent billing extension once during processing for a project, which can be done during regular processing. You typically do not call transaction independent billing extensions during adjustment processing.
The table below summarizes how you should set up the calling place and transaction independent parameters in your billing extension definition, based on the type of billing extension calculation.
|Billing Extension Calculation||Regular||Adjustment||Transaction Independent|
|Based solely on transactions|
|Based on inputs other than transactions|
|Table 1 - 114. Calling Place and Transaction Independent Parameters (Page 1 of 1)|
Project-specific billing extensions are those methods which are applicable only to specific projects for which they are negotiated. Project users assign these billing extensions to projects and top tasks; you cannot assign these billing extensions to project types.
Non-project-specific billing extensions are those methods which implement company policy across projects. You assign these billing extensions to project types; the billing extension applies to all projects of that project type. Project users cannot assign these billing extensions to projects.
Suggestion: You can include conditional logic in your procedure to allow exceptions to project type rules.
|Event Type||Defaults to event type on billing extension; event type must have an event type classification of Automatic.|
|Event Description||Defaults to event description on billing extension.|
|Event Organization||Defaults to managing organization of project or task to which the event is assigned.|
|Completion Date||Accrue through date for events created during revenue generation, bill through date for events created during invoice generation.|
|Revenue Amount||For billing extensions called in revenue generation, must specify revenue amount.|
For billing extensions called in invoice generation, can optionally specify revenue amount; revenue amount is not processed until invoice on which the event is billed is released.
|Bill Amount||For billing extensions called in invoice generation, must specify bill amount.|
For billing extensions called in revenue generation, can optionally specify bill amount; bill amount is not processed until revenue for the event is accrued.
|Descriptive Flexfield Segments||Can pass any value as long as the value is valid with the descriptive flexfields you have defined for events.|
|Audit Columns in Events||For values used in billing extension calculations. NOTE: not displayed to the user, but available in the table. See: Insert events.|
|Table 1 - 115. (Page 2 of 2) Attributes of Automatic Events|
|Cost Budget Type Code||Defaults to Approved Cost Budget.|
|Revenue Budget Type Code||Defaults to Approved Revenue Budget.|
|Table 1 - 116. (Page 1 of 1) Attributes of Budgets|