Understanding Revenue Plan Processing
PeopleSoft Contracts uses three Application Engine processes to structure PeopleSoft Contracts revenue information for entry into your PeopleSoft General Ledger system. When you run the contract liability, 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 PeopleSoft General Ledger. PeopleSoft Contracts uses two accounting entry tables because the data from PeopleSoft Project Costing is formatted differently than the data from PeopleSoft 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) |
PeopleSoft Contracts for amount-based revenue. |
Percent |
Percent Complete Apportionment Milestone |
CA_LOAD_GL1 (Amount-based Revenue process) |
PeopleSoft Contracts for amount-based revenue. |
Rate |
As-Incurred |
PSA_ACCTGGL (Accounting Rules Engine - rate-based revenue process) |
PeopleSoft Project Costing for rate-based revenue. |
Recurring |
Billing Manages Revenue |
Not applicable |
PeopleSoft 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 PeopleSoft General Ledger.
This section discusses:
The Contract Liability 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 contract liability option for any amount-based contract lines on your contract, you must run the Contract Liability process (CA_LOAD_DEF) to book contract liability and the offsetting contract asset for fixed-amount contract lines when PeopleSoft Contracts is managing revenue. The process picks up the CA_DETAIL revenue amounts for active contracts and creates rows in the CA_ACCTG_LINE table debiting contract asset and crediting contract liability. The revenue amount on the contract line may differ from the billing amount on the contract line if the contract separates billing and revenue on fixed amount contract lines. If not separated, then the revenue amount will equal the billing amount. You can control which contract lines (CA_DETAIL) are picked up by specifying the contract liability accounting date on the contract lines and then defining the accounting date range to be picked up on the process run control page.
The Contract Liability 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 PeopleSoft General Ledger currency is different from the contract currency, the process locks the exchange rate used for any multicurrency entries so that amortization of contract liability is done using the same exchange rate that the Contract Liability process used to initially populate the contract liability.
At this point, the program writes the currency-converted data to the CA_ACCTG_LINE table, and sets the contract liability 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 contract asset or contract liability.
You initially establish the contract liability option when setting up your contract product groups. You can override the product group contract liability option on the contract line if you selected the contract liability 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 contract liability (DFR) or contract asset row depending upon whether or not you are using contract liability.
Converts entries, if needed, from the contract currency to the base currency of the primary ledger of the PeopleSoft General Ledger business unit, and populates the Foreign Amount, Foreign Currency, Base Amount, Base Currency, Exchange Rate, and Exchange Rate Type fields.
If contract liability is enabled, the process uses the historical exchange rate used for the original contract liability entry.
Converts entries, if needed, for interunit processing, from the primary PeopleSoft 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 PeopleSoft Project Costing PROJ_RESOURCE rows where the analysis types are defined to the PSCST analysis group. For processing revenue, the rows must be included in the PSREV analysis group if the contract does not separate as incurred billing and revenue or the PSRV2 analysis group if the contract does separate billing and revenue.
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 PeopleSoft 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 contract asset.
Determines if the PeopleSoft 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 PeopleSoft General Ledger currency, using either the accounting date or the transaction date as the currency effective date, based on the Currency Conversion Date option on the Installation Options - Contracts page, 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 PeopleSoft 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 PeopleSoft 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 PeopleSoft Project Costing are for project tracking and comparison purposes and are not sent to billing or the general ledger (GL).
Rate-based contract lines selected to hold revenue on unpaid cost have additional validation before costs are sent to the General Ledger application for revenue. At run time, voucher costs from Accounts Payable and costs from Expenses are evaluated to determine if payment has been made. If payment has been made, the costs are included in the Contracts Revenue Process. If payment has not been made, then the costs are not sent to General Ledger until they have been paid.
See Updating Hold Billing and Revenue on Unpaid Cost Options, Understanding the Contracts Billing Process, Defining Contract Lines, Defining Contract Billing Options, Understanding the Contracts Billing Process, Setting Up Application-Specific Installation Options, Adding General Customer Information.
The PeopleSoft system integrates with PeopleSoft 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 PeopleSoft Contracts with a value generated in PeopleSoft Project Costing. This value comes from the project or project and activity combination in PeopleSoft 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.
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.
Journal Generator Process
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 PeopleSoft 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 contract liability.
CA_REV for Contracts fixed-amount revenue.
CA_PC for Contracts rate-based revenue based on transactions accumulated in PeopleSoft 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 PeopleSoft Contracts revenue transactions, including contract liability.
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 PeopleSoft General Ledger or PeopleSoft Contracts products to increase performance. In regards to the PeopleSoft Contracts product, the PS_CA_ACCTG_LN_PC table should be looked at for additional indexes.
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 PeopleSoft Contracts revenue (CA_ACCTG_LN_PC table).
Utilize the streamlined revenue options to process transactions from PeopleSoft Contracts to PeopleSoft General Ledger and back to PeopleSoft 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.
Contracts Load Update (CA_LOAD_UPD).
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 contract liability, 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 PeopleTools: Process Scheduler