This chapter provides overviews of integration with Contracts and Billing, the billing process flow, and data originating from Project Costing, and discusses how to move costs and revenue data into Project Costing.
Project Costing works with Contracts to generate project-related customer billing. This is called rate-based project billing. For rate-based billing, Contracts pulls information from project transactions and populates the Billing interface tables with the billing information.
Contracts stores contractual terms and conditions. You select a product with a rate price type on a contract line, associate the contract line with a project business unit and rate, optionally specify retainage and discount information for standard contracts or withholding information for government contracts, and link project activities to the contract line. In Contracts, you also establish billing plans and revenue plans to manage when and how much to bill and recognize for amounts associated with one or more contract lines.
When you bill rate-based contract lines, the flow of data is controlled by Contracts, and the data source is Project Costing. Project Costing tracks the work performed and accumulates costs against a project, and stores the information in the Project Transaction table (PROJ_RESOURCE). Rate-based project billing is driven by applying the rates that you identified in Contracts against the unbilled rows in the Project Transaction table, where the analysis types belong to the analysis group that is specified in the Billing field on the Installation Options - Project Costing page. The default analysis group is PSWKS (Billing Worksheet Grouping). Billing generates invoices for the contract lines and sends information regarding the invoices back to Project Costing and Contracts.
You can link a contract line to a specific project activity or to all activities for that project. This enables you to link a single project with multiple activities to multiple contracts or contract lines. You can link a rate-based contract line to activities from multiple projects that are in the same project business unit. You cannot link a project activity to more than one rate-based contract or contract line.
When you bill fixed-amount, value-based, and recurring contract lines, Contracts provides both the data source and the control over billing. You can associate these contract lines with a single project activity.
Note. You must associate a project activity with a contract line to use Project Costing to accumulate, store, and report on project costs for contracts. For example, you must associate an activity with a contract line if you want to use the Project Transaction table as the source for rate-based project billing. You must also select one of the associated project activities for a contract line to use when creating fee and withholding transactions.
When you run the Process Project Accounting Application Engine process (PSA_ACCTGGL), the system selects those rate-based contract lines that are tied to As Incurred revenue recognition plans. For each project linked to a contract line that is associated with a selected As Incurred revenue recognition plan, the process selects the undistributed Project Transaction table rows where the analysis types are included in the PSREV analysis group. If you use the Government Contracting feature and select the Separate Billing and Revenue option on the Installation Options - Contracts page, the process selects the undistributed Project Transaction table rows where the analysis types are included in the PSREV or PSRV2 analysis groups. The system then books revenue for these projects based on the accounting rules. The exception to this rule is if you have a contract line in a government contract with a fee type of None and the Separate Billing and Revenue option is selected on the Installation Options - Contracts page. For these contract lines, the Process Project Accounting process uses the PSREV analysis group to process the revenue.
This table lists the high level steps to set up and process project-related contract lines, and provides links to the PeopleBook locations that discuss the steps:
Step |
PeopleBook Documentation |
Set up rates. |
|
(Optional) Set up tiered pricing. |
|
(Optional) Set up rules and exceptions for organizational sharing. |
|
Set up contracts and contract lines. |
See Creating Contracts. |
Assign projects and activities to contracts. |
|
Accumulate and price project transactions from feeder systems. |
See Understanding Pricing Project Costs. See Integrating with Time and Labor. |
(Optional) Update project progress. |
See Processing Project Progress. See Percent Complete. |
(Optional) Approve transactions eligible for billing. |
|
Bill for projects. |
|
Recognize revenue for projects. |
See The Rate-based Revenue (Accounting Rules Engine) Process (PSA_ACCTGGL). |
Note. You can utilize streamlined billing to reduce the number of steps for invoicing bills. Streamlined billing enables you to process transactions from Contracts to Billing and back to Contracts with one job.
See Also
Understanding the Relationship Between Contracts and Project Costing
Reviewing Billing Transactions
The billing cycle diagram shows the flow of the billing process for rate-based contract lines. The numbered steps that are on the diagram correspond to updates that occur to these tables:
Contracts control tables - Billing Plans (CA_BILL_PLAN) and Billing Events (CA_BP_EVENTS).
The Billing Plans table defines high-level information about the billing plan. The Billing Events table defines when payments are due.
Contracts-Billing Cross-reference table (CA_BP_XREF).
The Contracts-Billing Cross-reference table provides visibility of all billing activity that relates to contracts, regardless of where the billing activity originates.
The numbered steps are discussed in more detail in the following diagram:
Billing cycle for rate-based contract lines
Costs are subject to transaction and contract line level limits. Transaction limits, which the system applies before contract line level limits, are based on limits that you establish by contract line and transaction identifier and are comprised of combinations of transaction sources, categories, and subcategories.
The system applies the transaction and contract line limits against corresponding direct and indirect cost transactions. The system creates billable transactions (rows with an analysis type of BIL) for cost transactions that completely pass limit checking or over-the-limit transactions (rows with an analysis type of OLT) for transactions that exceed applicable limits. If the Separate Billing and Revenue option on the Installation Options - Contracts page is selected, the system creates revenue transactions (rows with an analysis type of REV) for cost transactions for cost-plus contract lines that completely pass limit checking, or over-the-revenue-limit transactions (rows with an analysis type of ROL) for transactions that exceed applicable limits. The system splits cost transactions into separate billable/revenue and over-the-limit transactions in the amount of the remaining limit and excess, respectively, if the Split to Match Limit Exactly option on the Installation Options - Contracts page is selected. The system excludes OLT and ROL rows from billing and revenue processing.
The Pricing Application Engine process (PC_PRICING) calls limit processing, which examines each Project Transaction table row that represents a contract line for which you have enabled bill limits. Additionally, you can run the Limits Application Engine process (CA_LIMIT) as a stand alone process and select specific run control criteria to apply limits to specific contracts, recalculate limit amounts when totals are changed, or apply limits to billing and revenue transactions.
If a discount amount exists for a project, the transaction row amount is decreased by the discount amount prior to comparing the transaction row against the limit. Discounts do not apply to government contracts.
See Understanding the Contracts Billing Process.
Run the Contracts-Billing Interface Application Engine process, also called the Billing Engine, in Contracts for the appropriate billing methods to send Contracts- and Project Costing-related billing activity to Billing.
This process selects transaction rows (for rate-based billing methods) or billing plan lines (for fixed-amount billing methods) that are marked in Contracts as ready to bill, and creates bill rows in the Billing Interface tables (INTFC_BI and its related tables). After the Contracts-Billing Interface process stages billing data in these tables, the Billing Interface Application Engine process creates bills.
The PeopleSoft Enterprise Contracts 8.9 PeopleBook, "Processing PeopleSoft Enterprise Contracts Billing" chapter contains information on running the Contracts-Billing Interface process.
See Running the Contracts Billing Interface Process (CA_BI_INTFC).
See Understanding the Contracts Billing Process.
Direct Invoicing
You can select the Pre Approved and Direct Invoice billing options in the Billing Plan - Billing Plan General page in Contracts to bypass the invoice approval process in Billing.
Consult the PeopleSoft Enterprise Contracts 8.9 PeopleBook for information on direct invoicing and interunit billing.
See Running the Contracts Billing Interface Process (CA_BI_INTFC).
Interunit Billing
The system uses accounting rules to send data to the Contracts-Billing Interface process to forward to Billing. You set up the revenue distribution and the offsetting unbilled accounts receivable (UAR) account for rate-based contract lines on the Accounting Rules page. If the general ledger business unit for the debit side of a transaction is different from the general ledger business unit for the credit side of a transaction, the system generates interunit entries when you run the Process Project Accounting process.
See Accounting Distributions for Interunit Transfers.
The Billing Interface process can create two types of bills from the Contracts-Billing Interface process activity—temporary bills and real bills. You clear or select the Pre Approved option to create temporary or real bills for individual billing plans on the Billing Plan - Billing Plan General page in Contracts.
When interfacing billing data, the system checks for billing plans that are associated with the bill rows to see if they are designated as preapproved. The system creates real bills for bill rows that are associated with preapproved billing plans. Real bills become invoices that are sent to the customer.
The system creates temporary bills for bill rows that are not associated with preapproved billing plans. Temporary bills are routed to the billing worksheet where you can review and, for rate-based bills, approve or delete the entire worksheet, or bill, defer, delete, or write-off a bill line based on your review. Temporary bills or billing worksheets are grouped by invoice and display applicable tax information.
The system updates the Project Transaction Temporary Billing table (PROJ_RES_TMP_BI) when you approve a billing worksheet with bill options of defer, over-the-limit, and write-off, since none of these actions result in creating a bill for the customer. The data exits the staging table when the Billing to Project Costing process (PC_BI_TO_PC) runs and successfully moves the data from the staging table to the Project Transaction table.
The PeopleSoft Enterprise Billing 8.9 PeopleBook, "Processing Billing Interface Activity" chapter contains information on running the Billing Interface process.
See Also
Using the Billing Worksheet Component
Running the Billing Interface Process (BIIF0001)
When you approve a billing worksheet, the system:
Creates a real bill with an assigned invoice number for the approved worksheet.
Updates the Project Costing Distribution Status field value (PC_DISTRIB_STATUS) on the Bill Header table (BI_HDR) to I (ignore) to prevent the temporary bill from reappearing on the billing worksheet.
Updates the Contracts Prepaid table (CA_PREPAID_TBL) for all of the deleted rows that have a line type of UTL (utilization).
The system adds the line's original amount (prior to any billing worksheet changes) back to the committed amount.
For rate-based bill rows, updates the Project Transaction table, by way of the Project Transaction Temporary Billing table, for any rows with an analysis type of DEF (defer), WTO (write off), DEL (delete), or OLT (over the limit), that do not have a line type of UTL.
For fixed-amount bill rows, updates the Cross-reference Status field value (XREF_STATUS) to ACP (accepted) in the Contracts-Billing Cross-reference table for all of the lines that originated in Contracts.
Note. The system inserts rate-based bill rows into the Contracts-Billing Cross-reference table after the invoice is finalized.
See Also
Using the Billing Worksheet Component
When you delete a billing worksheet, the system:
For rate-based bill rows, resets the Billing Distribution Status field (BI_DISTRIB_STATUS) in Project Costing to P (priced) for all of the lines that originate in the Project Costing system with a line type other than UTL. This enables you to send each line to Billing again at a later time.
Updates the Contracts Prepaid table (CA_PREPAID_TBL) for any lines that originate from Project Costing with a line type of UTL.
The system resets the committed amount on the Contracts Prepaid table to the deleted amount of a utilization bill line and the utilization amount that is available for future billing activities.
For fixed-amount bill rows, the system changes the Billing Plan Event Status field value to RCL (recycled) if one or more of the billing plan lines associated with the event is canceled in the billing worksheet.
Individual billing plan lines are processed if an event is marked as recycled and the billing plan line is canceled in the Contracts-Billing Cross-reference table. The Cross-reference Status field value is updated to DEL in the Contracts-Billing Cross-reference table. Billing is able to process these types of rows differently because of the System Source field value (SYSTEM_SOURCE)—PBI (Project Costing to Billing Interface) for rate-based rows that originate in Project Costing and CBI (Contracts to Billing Interface) for rows that originate in Contracts.
Run the Billing Finalization process on the real bills that you created. The Billing Finalization process:
Calculates taxes.
Sets the invoice date.
Calculates the due date for real bills.
The PeopleSoft Enterprise Billing 8.9 PeopleBook discusses the fields that the Billing Finalization process updates in Contracts.
See Understanding the Billing to Projects/Contracts Interface Process.
Note. Although only certain project activities pertain to particular contract lines, the system does not store project activities in the Contracts-Billing Cross-reference table. Activities are summarized by project and billing currency.
Run the Project Costing-Contracts Interface process after you run the Billing Finalization process. The Project Costing-Contracts process updates the Contracts-Billing Cross-reference table and the Project Transaction table with the finalized bill information from Billing.
Note. Rate-based row amounts are subject to change throughout the billing process. For this reason, the system sends the rate-based rows and their final invoice amounts to the Contracts-Billing Cross-reference table only when you run the Project Costing-Contracts Interface process.
All rate-based rows and their associated discounts and retainages are written to the Project Transaction Temporary Billing table. The process includes rows with these analysis types:
Billing adjustment (BAJ)
Billable amount (BIL)
Billing retainage (BRT)
Billing discount (DSC)
Released retainage adjustment (RAJ)
Released billing retainage (RRT)
The Contracts-Billing Interface process inserts fixed-amount bill rows into the Contracts-Billing Cross-reference table. This is because fixed-amount rows are not modifiable; you can only accept or delete them. The system updates the bill row status throughout the Billing Interface process, worksheet cancellation or acceptance, and the Billing Finalization process. Fixed-amount rows that specify a project are sent to Project Costing with an analysis type of FBD (fixed cost billed amount).
Run the Billing to Project Costing process for rate-based contract lines to update the Project Transaction table with results from Contracts and Billing processes, including adjustments, discounts, retainages, withholdings, and so forth.
Billing processes write bill rows to the Project Transaction Temporary Billing table. The Billing to Project Costing process moves the rows from the Project Transaction Temporary Billing table to the Project Transaction table, either in the form of updates to existing rows or as new inserted rows. The process uses the PSBLD (Billing to Projects) analysis group to determine which rows to process and how to process the rows coming from Billing.
This table lists how transactions are handled:
Description |
Analysis Type of Source Transaction Row |
Analysis Type of New or Updated Transaction Row |
Billing Distribution Status After Billing to Project Costing Process |
Bill row |
BIL (billable amount) |
BLD (billed amount) |
D (distributed) |
Write off |
WTO (see note) |
WTO |
I (ignore) |
Deferral |
DEF (see note) |
DEF |
P (priced) |
Over limit |
OLT (see note) |
OLT |
P |
Billing retainage |
BRT |
BRT (multiplier of -1) |
P |
Billing adjustment |
BAJ |
BAJ (multiplier of –1) |
D |
Released billing retainage |
RRT |
RRT |
D |
Released retainage adjustment |
RAJ |
RAJ (multiplier of –1) |
D |
Billing discount |
DSC |
DSC (multiplier of –1) |
D |
Prepaid bill row |
BIL - with source type of CBI (Contracts to Billing Interface) |
BLD |
D |
Prepaid utilization for billing |
UTL |
UTL (multiplier of –1) |
I |
Prepaid utilization adjustment |
UAJ |
UAJ (multiplier of –1) |
I |
Prepaid utilization adjustment |
UTL |
UAJ (multiplier of –1) |
I |
Fixed fee |
BIL - with source type of CBI |
BLD |
D |
Withholding |
WTH |
WTH (multiplier of –1) |
D |
Withholding adjustment |
WAJ |
WAJ (multiplier of –1) |
D |
Withholding release |
WRL |
WRL |
D |
Withholding release adjustment |
WRJ |
WRJ |
D |
Withholding write-off |
WWO |
WWO |
D |
Sales/use tax |
SUT |
SUT |
D |
Nonrecoverable VAT |
VIN |
VIN |
D |
Note. If the source of a WTO, DEF, or OLT row is a retainage (BRT in the Project Transaction table, or RRT in the billing worksheet) rather than a BIL, the system does not follow the logic above. Instead, the system updates the Billing Distribution Status field for the BRT row to D (distributed) and inserts three new rows: RRT row with billing distribution status of I (ignore), RAJ row with billing distribution status of I, and either a WTO row with billing distribution status of I, a DEF row with billing distribution status of P (priced), or an OLT row with billing distribution status of P.
You can determine billed and unbilled amounts by appropriately grouping analysis types within the Project Transaction table. Analysis types and analysis groups can be user-defined. PeopleSoft delivers these sample analysis groups that contain analysis types for billed and unbilled amounts:
Analysis Group |
Analysis Types |
BLD (billed transactions) |
BAJ (billing adjustment) BLD (billed amount) BRT (billing retainage) DSC (billing discount) FBD (fixed cost billed amount) RAJ (released retainage adjustment) RRT (released billing retainage) SUT (sales/use tax) UTL (prepaid utilization for billing) |
UNBLD (unbilled transactions) |
BIL (billable amount) BRT (billing retainage) DEF (deferred amount) OLT (over limit amount) RRT (released billing retainage) |
PSBLD (Billing to Projects) |
BAJ (billing adjustment) BIL (billable amount) BRT (billing retainage) DEF (billing deferral) DSC (billing discount) FBD (fixed cost billed amount) OLT (over limit) PMR (proposal management reversal) RAJ (released retainage adjustment) RRT (released billing retainage) SUT (sales/use tax) UAJ (prepaid utilization adjustment) UTL (prepaid utilization billing) WAJ (withholding adjustment) WRJ (withholding release adjustment) WRL (withholding release) WTH (withholding) WTO (write off) WWO (withholding write off) |
On the source transaction row, the system updates the billing distribution status to:
P (priced) when the row is priced.
D (distributed) when the row is successfully billed.
On the target row, the system updates the billing distribution status to:
W (billing worksheet) while the row is in the billing process or in the worksheet.
P when it is created from the Pricing Engine.
W when Contracts selects it for billing.
D when the row is successfully billed.
This table shows the lifecycle of project transaction rows that are eligible for billing. This table starts after the transaction is priced:
Process |
Billing Distribution Status |
Cross-reference Status |
Analysis Type Rows Inserted into Project Transaction Temporary Billing Table |
Start |
P (priced) |
N/A (not applicable) |
N/A |
Contracts-Billing Interface (Billing Engine) |
W, if action completes S, if action aborts |
N/A |
N/A |
Billing Interface |
N/A |
N/A |
N/A |
Accept Worksheet |
N/A |
N/A |
OLT (over the limit) DEF (defer) WTO (write off) WWO (withholding write-off) |
Delete Worksheet |
P |
N/A |
N/A |
Billing Finalization |
N/A |
N/A |
N/A |
Project Costing-Contracts Interface (see note) |
D (distributed) |
FIN (finalized) |
BAJ (billing adjustment) BRT (billing retainage) DSC (billing discount) |
Note. The Project Costing-Contracts Interface process calls the Contracts Billing Update Application Engine process (CA_BI_UPD), which updates the Billing Plan Event Status field to DON (completed) if all rows for the event have a Cross-reference Status field value of FIN in the Contracts-Billing Cross-reference table. The system updates the Billing Plan Status field to DON if all events are completed.
This section discusses how to summarize revenue and billing.
Access the Summarize Revenue and Billing page.
Use this page to update the Billing and Revenue Summary table (PC_BI_MNGMT). The system copies rows from the Project Transaction table and summarizes them by business unit, project, activity, customer, and contract number. Amounts are in transaction currencies. The process restricts the rows to analysis types that are included in the analysis groups BLD, UNBLD, PSBLD, PSREV, and PSRV2.
See Also