This chapter provides an overview of revenue plan processing and discusses how to:
Process deferred revenue.
Process amount-based revenue.
Process rate-based revenue.
Update revenue recognition statuses.
Contracts uses three Application Engine processes to structure Contracts revenue information for entry into your General Ledger system. When you run the deferred revenue, amount-based revenue, and rate-based revenue (Accounting Rules Engine) processes, the system places entries in the historical accounting tables and in either the CA_ACCTG_LINE or CA_ACCTG_LN_PC tables to be sent to General Ledger. Contracts uses two accounting entry tables because the data from Project Costing is formatted differently than the data from Contracts. This table shows which Application Engine process to use for each price type:
Price Type |
Revenue Method |
Revenue Application Engine Process |
Revenue Source System |
Amount |
Percent Complete Apportionment Milestone |
CA_LOAD_GL1 (Amount-based Revenue process) |
Contracts for amount-based revenue. |
Percent |
Percent Complete Apportionment Milestone |
CA_LOAD_GL1 (Amount-based Revenue process) |
Contracts for amount-based revenue. |
Rate |
As-Incurred |
PSA_ACCTGGL (Accounting Rules Engine - rate-based revenue process) |
Project Costing for rate-based revenue. |
Recurring |
Billing Manages Revenue |
Not applicable |
Billing for recurring revenue. |
After you have run these Application Engine processes, you must run the Journal Generator process to load these accounting entries into General Ledger.
This section discusses:
The Deferred Revenue process.
The Amount-based Revenue process.
The Rate-based Revenue (Accounting Rules Engine) process.
The Project Progress process.
Journal Generator and Update processes.
Streamlined revenue.
If you select the deferred revenue option for any amount-based contract lines on your contract, you must run the Deferred Revenue process (CA_LOAD_DEF) to book deferred revenue and the offsetting unbilled accounts receivable (AR) for fixed-amount contract lines when Contracts is managing revenue. The process picks up the CA_DETAIL amounts for active contracts and creates rows in the CA_ACCTG_LINE table debiting unbilled AR and crediting deferred revenue. You can control which contract lines (CA_DETAIL) are picked up by specifying the deferred revenue accounting date on the contract lines and then defining the accounting date range to be picked up on the process run control page.
The Deferred Revenue process also looks for any reallocation or amount changes made after the contract has been picked up and originally run through this process. Additionally, when the General Ledger currency is different from the contract currency, the process locks the exchange rate used for any multicurrency entries so that amortization of deferred revenue is done using the same exchange rate that the Deferred Revenue process used to initially populate the deferred revenue.
At this point, the program writes the currency-converted data to the CA_ACCTG_LINE table, and sets the deferred revenue processing flag for the processed contract lines from N to Y.
The Amount-based Revenue process writes revenue to CA_ACCTG_LINE for amount- and percent-based contract lines that are tied to Percent Complete, Milestone, and Apportionment revenue plans. The process marks the revenue entries with a General Ledger distribution status of N (not distributed). When you run the Amount-based Revenue process, the system scans all revenue plans with a status of Ready or In Progress and picks up all revenue plan events with an event status of Ready or Reversal Initiated, as well as all amendment generated events. The system picks up events in the current or prior accounting periods. Prior accounting periods are included because you may have placed some revenue plans or events on hold in previous periods and are now ready to process them.
Before running the Amount-based Revenue process, the system has already:
Applied the appropriate contract line accounting distribution to the revenue plan events.
Created the offsetting entry to either unbilled AR or deferred revenue.
You initially establish the deferred revenue option when setting up your contract product groups. You can override the product group deferred revenue option on the contract line if you selected the Deferred Revenue Override check box on the Contracts Definition - Processing Options page for the associated contracts business unit.
The system performs the previous steps automatically as you create your revenue plans. By having the accounting entries staged before the revenue processes are run, you can view them by using Preview Revenue.
The Amount-based Revenue process then:
Picks up the appropriate revenue and offsetting accounting entries previously created for Preview Revenue for the accounting period specified on the run control.
Picks up the appropriate amendment event entries and reversal entries for the accounting period specified on the run control.
Calls the interunit processor to determine which lines need interunit or intraunit entries created for a selected group of lines with an anchor flag.
The anchor flag is either the deferred revenue (DFR) or unbilled AR row depending upon whether or not you are using deferred revenue.
Converts entries, if needed, from the contract currency to the base currency of the primary ledger of the General Ledger business unit, and populates the Foreign Amount, Foreign Currency, Base Amount, Base Currency, Exchange Rate, and Exchange Rate Type fields.
If deferred revenue is enabled, the process uses the historical exchange rate used for the original deferred revenue entry.
Converts entries, if needed, for interunit processing, from the primary General Ledger business unit (GLBU) currency used for the balance sheet side of the entry to the primary GLBU currency of the revenue receiving GLBU, and populates the Foreign Amount, Foreign Currency, Base Amount, Base Currency, and Exchange Rate fields.
Updates the revenue recognition event status from Ready to In Progress for applicable revenue recognition events.
Updates applicable revenue plan statuses from Ready to In Progress.
For rate-based revenue, the Accounting Rules Engine process (PSA_ACCTGGL) writes revenue to CA_ACCTG_LN_PC for rate-based contract lines that are tied to as-incurred revenue plans. The process picks up the undistributed Project Costing PROJ_RESOURCE rows where the analysis types are defined to the PSREV or PSCST analysis group.
Warning! Rate-based revenue accounting comes from the accounting distribution set up on the Accounting Rules page. If you did not define any accounting rules for the Project Costing ChartFields and business unit combinations for the transactions that you are processing, the rate-based revenue process does not generate any accounting rows.
The process:
Creates the revenue entry and the offsetting entry to unbilled AR.
Determines if the General Ledger business unit of the debit and credit sides of an accounting entry differ, and, if so, creates interunit entries.
Converts entries, if needed, from the transaction currency to the base currency of the primary General Ledger currency, and populates the Foreign Amount, Foreign Currency, Base Amount, Base Currency, and Exchange Rate fields.
Note. The GL_DISTRIB_STATUS on the CA_ACCTG_LINE and CA_ACCTG_LN_PC tables are initially populated by G when the revenue is in process. When the revenue is final and posted in GL, the GL_DISTRIB_STATUS in both tables is populated by D (distributed).
Updates the revenue recognition event status from Ready to In Progress for applicable revenue recognition events.
Updates applicable revenue plan statuses to In Progress.
Note. The Project Costing Pricing Application Engine (PC_PRICING) generates eligible rows for projects/activities linked to contract lines. The rate-based revenue process (Accounting Rules Engine − PSA_ACCTGGL) picks up these rows to create journal entries in General Ledger based on the schedule defined on as-incurred revenue plans. The PC_CA_TO_PC process picks up the revenue accounting rows for amount-based contract lines with associated projects/activities. These amount-based revenue rows in Project Costing are for project tracking and comparison purposes and are not sent to billing or the general ledger (GL).
See Also
Setting Up Accounting for Projects
The PeopleSoft system integrates with Project Costing to eliminate duplicate data entry for revenue that is tied to percent complete plans. You can automatically populate the percent complete for revenue plans in Contracts with a value generated in Project Costing. This value comes from the project or project and activity combination in Project Costing. You determine which auto populate method to use on the Revenue Plan page. After choosing an auto populate option, you can set up a run control that allows the processing of one or more plans at a time.
Note. You must have already linked your amount-based contract lines to a project or project and activity combination in order to have the project progress options available to you on the Revenue Plan page.
See Also
After running the Amount-based Revenue and Rate-based Revenue (Accounting Rules Engine) processes, you must run the Journal Generator and Update Journal Generator processes.
The Journal Generator process picks up all account transactions in the CA_ACCTG_LINE and CA_ACCTG_LN_PC tables with a General Ledger distribution status of N (newly inserted) and creates journals for them. The Journal Generator process marks all CA_ACCTG_LINE and CA_ACCTG_LN_PC lines for which it has successfully created a journal line with a General Ledger status of D (distributed).
To run the Journal Generator process, you must have the General Ledger accounting entry definitions and journal entry templates set up. The PeopleSoft system delivers the accounting entry definitions. There are two accounting entry definitions—one for each CA_ACCTG table, which you do not update. The PeopleSoft system also delivers these sample journal entry templates:
CA_DFR for deferred revenue.
CA_REV for Contracts fixed-amount revenue.
CA_PC for Contracts rate-based revenue based on transactions accumulated in Project Costing.
Define custom journal entry templates that are specific to your business requirements. On the Journal Generator Request page, specify the template that you want to run. Additionally, you can specify special journal entry templates for a specific accounting rule.
Note. Set up journal entry templates for each GL business unit before you process any Contracts revenue transactions, including deferred revenue.
Note. When running the General Ledger Journal Generator process, you may run into performance degradation over time. Depending on the database platform, volume, and distribution of data, the correct index can speed processing greatly. You may want to create new indexes within the General Ledger or Contracts products to increase performance. In regards to the Contracts product, the PS_CA_ACCTG_LN_PC table should be looked at for additional indexes. For further information on performance tuning the Journal Generator process, please see the Optimizing General Ledger Performance section in the PeopleSoft Enterprise General Ledger PeopleBook.
See Optimizing General Ledger Performance.
Contracts Journal Generator Update Process
The Contracts Journal Generator Update process makes the following updates for applicable revenue plans and events:
Changes applicable revenue recognition events from In Progress to Completed.
If all events for a revenue plan are booked, the system updates the revenue plan status to Completed.
Changes applicable Reversal In Progress events to Reversed.
If all events for a revenue plan are set to Reversed and the revenue plan status is Reversal In Progress, the process changes the revenue plan status to Reversed.
Changes applicable Reversal In Progress revenue plans to Reversed if all events are New, Ready, or Reversed.
Note. The CA_LOAD_UPD process updates the GL distribution status to D (distributed) for the PROJ_RESOURCE rows associated with Contracts revenue (CA_ACCTG_LN_PC table).
See Also
Utilize the streamlined revenue options to process transactions from Contracts to General Ledger and back to Contracts with one job. Set up the accounting definition defaults for the Journal Generator at the installation level on the Contracts Installation Options page.
The streamlined revenue job (CAREV) runs these processes together:
Journal Generator (FS_GEN), which includes the Journal Generator, Journal Edit, and Journal Post processes.
To activate streamlined revenue, select the Process Journal Entries check box on the Process Fixed Fee Revenue page or the Process Project Accounting page for amount-based and as-incurred revenue, respectively.
In addition to the streamlined revenue process outlined previously, you also have the option to select additional processes for the system to run in conjunction with the amount-based revenue process. On the amount-based run control page, if you select the Process Deferred Revenue, Process Milestones, or Process Project Progress check boxes, the system runs the selected processes prior to running the Amount-based Revenue process.
For more information about batch processing and using the Process Scheduler to personalize and streamline batch processing, see the Enterprise PeopleTools PeopleBook: PeopleSoft Process Scheduler.
See Enterprise PeopleTools PeopleBook: PeopleSoft Process Scheduler
Before you can begin to process revenue with Contracts, you need:
A contract with an Active processing status.
A contract line with an Active status that is assigned to a revenue plan with a Ready status.
Accounting rules set up for all project ChartField and business unit combinations.
This section lists prerequisites and discusses how to process deferred revenue.
You must have selected the Deferred Revenue option on the contract line. Only contract lines populated with a deferred revenue accounting date within the run control From/Through Date range are picked up by this process.
Page Name |
Object Name |
Navigation |
Usage |
Process Deferred Revenue |
RUN_CA_LOAD_DFR |
Customer Contracts, Schedule and Process Revenue, Process Deferred Revenue |
Run this process to book deferred revenue for amount-based contract lines when Contracts is managing revenue. The process picks up the CA_DETAIL amounts for active contract lines in active contracts, and creates rows in the CA_ACCTG_LINE table debiting unbilled AR and crediting deferred revenue. |
Access the Process Deferred Revenue page.
The tables updated by this process include: CA_AP_DFR, CA_AP_UAR, and CA_ACCTG_LINE.
Contract Options
Use the fields within this group box to filter the list of contracts on which this process runs. Filter by Contracts business unit, contract type, contract classification, sold to customer, or contract number. When you leave a field blank, the system runs the process for all values for that field.
Revenue Options
From Date and Through Date |
The system picks up all active amount-based contract lines in active contracts with deferred revenue accounting dates on or within the range that you specify for the from and through dates. You specify the deferred revenue accounting date for contract lines on the Contract - Lines page: Deferred Revenue tab. You can set up your contract so that the system populates this date with the date on the Contract - General page. |
Note. You can skip this deferred revenue processing step by selecting the Process Deferred Revenue check box on the Amount-based Revenue run control page. Selecting this check box enables the system to automatically run the Deferred Revenue process prior to running the Amount-based Revenue process.
This section discusses how to run the Amount-based Revenue process.
Page Name |
Object Name |
Navigation |
Usage |
Process Fixed Fee Revenue |
RUN_CA_LOADGL |
Customer Contracts, Schedule and Process Revenue, Process Fixed Fee Revenue |
Run this process to write contracts revenue to CA_ACCTG_LINE for events marked Ready. This process picks up amount- and percent-based contract lines that are assigned to percent complete, milestone, and apportionment revenue plans. The system sets the GL_DISTRIB_STATUS for lines that it writes to the CA_ACCTG_LINE table to G (generated). |
Access the Process Fixed Fee Revenue page.
The tables updated by this process include: CA_AP_DST, CA_AP_DFR, CA_AP_UAR, CA_ACCTG_LINE, and CA_AP_EVENT.
Note. Before you run the Amount-based Revenue process, you must run the Deferred Revenue process if you selected the deferred revenue
option for any applicable contract lines.
Before you run the Amount-based Revenue process, you may want to run the Process Milestones and Project Process processes
to ensure that the system is picking up the most current milestone and percent complete event statuses.
If you select the Process Milestones, Process Project Progress, and Process Deferred Revenue check boxes in the Streamline Processing Options group box on this page, the system runs these processes for you automatically before running the Amount-based Revenue process.
Contract Options
Use the fields within this group box to filter the list of contracts on which this process runs. Filter by Contracts business unit, contract type, contract classification, sold to customer, or contract number. When you leave a field blank, the system runs the process for all values for that field.
Revenue Options
GL Business Unit |
Select a General Ledger business unit to run this process for all contracts within a specific General Ledger business unit. |
Revenue Plan |
Select a revenue plan to run this process for all events within a specific revenue plan. |
Revenue Method |
Select a revenue method to run this process for a specific revenue recognition method. |
From Date and Through Date |
The system picks up all active amount-based contracts with Ready events and with accounting dates on or within the range that you specify for the from and through dates. Specify the revenue accounting date for each revenue recognition event on the Revenue Plan page. |
Process Milestones |
Select this check box to set up the system to automatically run the Process Milestone process prior to running the Amount-based Revenue process. |
Process Project Progress |
Select this check box to set up the system to automatically run the Percent Complete Update process prior to running the Amount-based Revenue process. |
Process Deferred Revenue |
Select this check box to set up the system to automatically run the Deferred Revenue process prior to running the Amount-based Revenue process. |
Process Journal Entries |
Select this check box to set up the system to automatically run the Journal Generator and Retrieve GL Updates processes after running the Amount-based Revenue process. |
This section discusses how to run the Rate-based Revenue process.
Page Name |
Object Name |
Navigation |
Usage |
RUN_PSA_ACCTGGL |
Customer Contracts, Schedule and Process Revenue, Process As Incurred Revenue |
Run this process to write revenue for Project Costing to CA_ACCTG_LN_PC. This process picks up rate-based contract lines assigned to as-incurred revenue plans. The system sets the GL_DISTRIB_STATUS for lines that it writes to the CA_ACCTG_LN_PC table to D (distributed). |
Access the Process Project Accounting page.
See Processing Transactions Using Accounting Rules.
This section discusses how to update the GL.
Page Name |
Object Name |
Navigation |
Usage |
Retrieve GL Updates |
RUN_CA_LOAD_UPD |
Customer Contracts, Schedule and Process Revenue, Retrieve GL Updates |
Run this process after you have run Journal Generator. When Journal Generator completes, it sets the GL_DISTRIB_STATUS in CA_ACCTG_LINE and CA_ACCTG_LN_PC from G (generated) to D (distributed). The Journal Generator Update process then updates the status of your revenue plan events to Completed and updates the GL_DISTRIB_STATUS of the applicable revenue transactions in Project Costing PROJ_RESOURCE to D. This process also updates Reversal In Progress events to Reversed. |
Access the Retrieve GL Updates page.