Proposal Management provides a full-featured project estimation tool that integrates directly with Contracts, Project Costing, and Customer Relationship Management (CRM). In addition, Contracts and Project Costing integrate directly with Human Resources, Time and Labor, Billing, General Ledger, Receivables, Purchasing, Inventory, and Payables. You can also integrate Proposal Management with third-party applications.
This chapter provides overviews of integration process flows and the procurement process and discusses how to integrate with:
PeopleSoft CRM.
Contracts and Project Costing.
Program Management.
Time and Labor.
General Ledger.
Receivables.
Purchasing.
Inventory.
Payables.
Third-party applications.
This diagram shows how Proposal Management interacts with the other applications in PeopleSoft Financials and PeopleSoft CRM:
Proposal Management integration with other PeopleSoft applications
You can enter requisitions into Purchasing, and then pull them into Project Costing for tracking purposes. This diagram shows the procurement process flow when Project Costing is integrated with Purchasing, Payables, and Inventory:
The procurement process
Customers using PeopleSoft CRM Sales and Collaborative Selling can initiate service-based proposals from within PeopleSoft CRM through an interface with Proposal Management. For opportunities requiring manual entry, you can create and price multiple service-based proposals. You can build each proposal using resource inputs at the project activity level.
The following sections describe the integration points:
Proposal Integration consists of two application messages: OC_ESA_PROPOSAL and OC_ESA_PROPOSAL_RESPONSE. When an order or quote is submitted for a service type engagement in PeopleSoft CRM, the system sends the proposal request message (OC_ESA_PROPOSAL) to Proposal Management.
In response to this message, Proposal Management sends a message (OC_ESA_PROPOSAL_RESPONSE) to PeopleSoft CRM to return the Capture ID, Proposal ID, and Version ID.
The system sends these fields from PeopleSoft CRM to Proposal Management:
Source = CRM |
Target = Proposal Management |
||
Record |
Field |
Record |
Field |
RO_HEADER |
CAPTURE_ID |
GM_PROPOSAL |
CAPTURE_ID |
BUS_UNIT_TBL_RO |
BUSINESS_UNIT_ESA |
GM_PROPOSAL |
BUSINESS_UNIT |
RO_LINE |
PRODUCT_ID |
GM_PROPOSAL |
PRODUCT_ID |
PROD_ITEM |
DESCR |
GM_PROPOSAL |
PRODUCT_DESCR |
RO_LINE |
PRICE |
GM_PROPOSAL |
PRICE |
RO_LINE |
CURRENCY_CD |
GM_PROPOSAL |
CURRENCY_CD |
RO_NOTE |
DESCRLONG |
GM_PROP_COMMENT |
DESCRLONG |
RB_INT_CUST_ADS |
CUST_ID |
GM_PROPOSAL |
CUST_ID |
RSF_OPPORTUNITY or RSF_LEAD Note. System uses either record depending on if the quote has a lead or an opportunity attached. |
SALES_USER_NAME |
GM_PROPOSAL |
SALESREP_NAME |
Note. System uses PeopleCode to retrieve phone and extension information. Not a direct read of a record. |
CC_PHONE_EXTENSION |
GM_PROPOSAL |
CC_PHONE_EXTENSION |
Note. System uses PeopleCode to retrieve email address information. Not a direct read of a record. |
EMAIL_ADDR |
GM_PROPOSAL |
EMAIL_ADDR |
RO_ASSOCIATION |
PROPOSAL_ID |
GM_PROPOSAL |
PROPOSAL_ID |
RO_ASSOCIATION |
VERSION_ID |
GM_PROPOSAL |
VERSION_ID |
RO_HEADER |
QUOTE_EXPIRE_DT |
GM_PROPOSAL |
DUE_DATE |
RO_HEADER |
DESCR50 |
GM_PROPOSAL |
PROPOSAL_TITLE |
RO_HEADER |
CAPTURE_DATE |
GM_PROPOSAL |
BEGIN_DT |
RO_HEADER |
QUOTE_DUE_DATE |
GM_PROPOSAL |
END_DT |
In response to the first message, the system sends these fields from Proposal Management to PeopleSoft CRM:
Source = Proposal Management |
Target = CRM |
||
Record |
Field |
Record |
Field |
ESA_OC_RSPN |
PROPOSAL_ID |
RO_ASSOCIATION |
PROPOSAL_ID |
ESA_OC_RSPN |
VERSION_ID |
RO_ASSOCIATION |
VERSION_ID |
ESA_OC_RSPN |
CAPTURE_ID |
RO_ASSOCIATION |
CAPTURE_ID |
ESA_OC_RSPN |
BUSINESS_UNIT |
RO_ASSOCIATION |
ASSOC_BUS_UNIT |
ESA_OC_RSPN |
MESSAGE_TEXT |
NA |
NA |
Note. The system uses the MESSAGE_TEXT field to log error messages if any errors occur when the proposal is being created or updated.
Proposal Management uses the customer number to query the customer table for customer name and current contact information. When Proposal Management receives the message, the following occurs:
If the proposal ID is blank, the system creates a new proposal.
If the proposal ID is not blank, the system updates the existing proposal.
If a quote in PeopleSoft CRM has expired, it may be revised in CRM.
This creates a new quote with a new capture ID. The system then passes the proposal ID to Proposal Management from the original quote. Proposal Management checks if the proposal has been closed out (proposal status equals Canceled). If it has been closed, the system reopens the proposal for pricing (proposal status is updated to Draft).
When pricing information is completed in Proposal Management, the Quote Integration application message (ESA_PROPOSAL_PRICE) sends pricing information back to PeopleSoft CRM. This occurs when a user clicks the Set To Ready button on the Maintain Proposal page in Proposal Management. After the system sends the message to PeopleSoft CRM, the selected proposal version is locked and uneditable.
The system sends these fields from Proposal Management to PeopleSoft CRM:
Source = Proposal Management |
Target = CRM |
||
Record |
Field |
Record |
Field |
GM_PROPOSAL |
PROPOSAL_ID |
RO_ASSOCIATION |
PROPOSAL_ID |
GM_PROPOSAL |
VERSION_ID |
RO_ASSOCIATION |
VERSION_ID |
GM_PROPOSAL |
BUSINESS_UNIT |
RO_HEADER |
BUSINESS_UNIT |
GM_PROPOSAL |
TOTAL_BUDGET_AMT |
RO_LINE |
PRICE |
GM_PROP_COMMENT |
DESCRLONG |
RO_NOTE |
DESCRLONG |
Note. Proposal Management sends note descriptions to PeopleSoft CRM, but PeopleSoft CRM does not update them.
The system triggers the Sales Integration application message (OC_ESA_PROPOSAL_STATUS) from PeopleSoft CRM when a sales lead or opportunity is lost or sold, when the direct quote or order is sold, when the quote or order line is canceled (quotes expire after a specified time interval), or when the order line needs to be repriced.
When Proposal Management receives the message, it updates the corresponding proposal version with either the Draft, Denied, or Committed status, which is based on the contents of the message. The system sends these fields from PeopleSoft CRM to Proposal Management:
Source = CRM |
Target = Proposal Management |
||
Record |
Field |
Record |
Field |
RO_ASSOCIATION |
PROPOSAL_ID |
GM_PROPOSAL |
PROPOSAL_ID |
RO_ASSOCIATION |
VERSION_ID |
GM_PROPOSAL |
VERSION_ID |
RO_ESA_BU |
BUSINESS_UNIT_ESA |
GM_PROPOSAL |
BUSINESS_UNIT |
RO_HEADER |
CAPTURE_ID |
GM_PROPOSAL |
CAPTURE_ID |
RO_LINE.STATUS |
STATUS_CODE |
GM_PROPOSAL |
SUBMIT_STATUS |
RO_NOTE |
DESCRLONG |
GM_PROP_COMMENT |
DESCRLONG |
When Proposal Management receives the message, the following occurs:
If the order capture line status is Lost, the system updates the proposal status to Denied.
If the order capture line status is Sold, the system updates the proposal status to Committed.
If the order is expired, the system updates the proposal status to Canceled.
If the order capture line status is Negotiate, the system updates the proposal status to Draft and enables re-pricing for the related proposal version.
This table shows how statuses from both Proposal Management and PeopleSoft CRM correspond to each other:
Proposal Management Status |
PeopleSoft CRM Status |
Draft |
Draft |
Ready |
Priced |
Draft |
Negotiate |
Denied |
Lost |
Committed |
Sold |
Canceled |
Expired |
To activate integration between PeopleSoft CRM and Proposal Management, you must activate these messages at the message level:
OC_ESA_PROPOSAL
OC_ESA_PROPOSAL_RESPONSE
ESA_PROPOSAL_PRICE
OC_ESA_PROPOSAL_STATUS
See Also
Activating Messaging Integration Points
Enterprise PeopleTools 8.46 PeopleBook: PeopleSoft Integration Broker
Through the Generate process, Proposal Management writes data to Contracts, Project Costing, and Program Management.
The system writes data to these Contract tables during the Proposal Management Generate process:
CA_CONTR_HDR
CA_BILL_PLAN
CA_ACCTPLAN
CA_DETAIL
CA_DTL_DST_DATE
CA_DETAIL_DST
CA_DETAIL_UAR
CA_DETAIL_DFR
CA_RATE
CA_DETAIL_PROJ
The system writes data to these Project Costing and Program Management tables during the Proposal Management Generate process:
PROJECT
PROJ_ACTIVITY
PC_BUD_ITEM
PC_RATE
PC_RATE_DTL
PC_RATE_DTL_LN
PROJECT_TEAM
PROJ_TEAM_SCHED
PROJ_ACT_TEAM
PC_TEAM_IP_SCHD
PC_BUD_PLAN
PC_BUD_DETAIL
Project Costing integrates with both Billing and Contracts, so any adjustments, discounts, released retainages, or limits created for project-related bills are inherited from corresponding bills and contracts.
Proposal Management writes general project information, project activity information, and budget information directly into Project Costing.
Note. Your organization may customize additional validation checks and required fields based on your internal project approval requirements. You may also decide to build interfaces that populate or update project records and customer internet sites, EDI transaction sets, and data warehouses, since web sites and EDI transaction sets often incorporate data elements that are included in the Project Costing pages.
See Also
Establishing Project Activities
Using tables, enterprise integration points, and other processes delivered with Project Costing and Time and Labor, the system brings labor costs into Project Costing anytime Project Costing needs estimates for billing.
To enable data transfer from Time and Labor to Project Costing during a payroll period, Time and Labor uses an estimation process linked with North American Payroll to summarize hours and labor expenses. These estimates are brought into Project Costing as transactions with an analysis type of TLA (Time and Labor Accruals). To facilitate billing from estimates, Time and Labor for Billing (TLB) rows are created during estimate processing. The monetary amounts of these estimates are close to what the eventual pro rata amounts will be after the payroll close, but are subject to change.
It is important to remember when setting up integration between Project Costing and Time and Labor that you are working in two separate databases: Financials and HCM. Therefore, information must be present in both databases before you can begin.
There are six project prompt tables (along with the Project Team and Project Status tables) in Time and Labor that are populated by integration with Project Costing.
Note. The prompt tables are synchronized between PeopleSoft Financials and HCM using application messaging. Refer to the enterprise integration documentation for more information.
See Also
Integrating with Time and Labor
Enterprise PeopleTools 8.46 PeopleBook: PeopleSoft Integration Broker
Project Costing has a built-in integration with General Ledger through the Journal Generator for both single-sided transactions and double-sided transactions.
After you create accounting entry templates to generate double-sided entries, run the PC Accounting Distributions process. The PC Accounting Distributions process uses the accounting entry templates to generate double-sided entries and write them to the Project Resource Distribution Line table (PC_DIST_LN).
You then distribute the transactions to General Ledger. Run the Journal Generator using the PC_COSTS run control with the PCDEFN accounting entry definition specified. This distributes the transactions to the Journal Header Data (JRNL_HEADER) and Journal Line Data (JRNL_LN) tables in General Ledger.
Accounting entry templates are not necessary for distributing double-sided transactions. To distribute double-sided transactions created through the Resource Adjustments page in Project Costing, run the Journal Generator using the PC_ADJUST run control with the PCDEFN accounting entry definition specified. This distributes the transactions to the Journal Header Data and Journal Line Data tables in PeopleSoft General Ledger.
You can then retrieve posted journals back to Project Costing with the General Ledger to Projects Interface process (PC_GL_TO_PC).
See Also
Integrating with General Ledger
Commitment Control is an optional feature of the PeopleSoft FMS, ESA, and SCM product lines that enables you to control expenditures actively against predefined, authorized budgets. In particular, Commitment Control enables you to:
Create and maintain control budgets.
Check actual transactions (such as actual expenditures and revenues) against control budgets.
Check imminent future financial obligations (pre-encumbrances and encumbrances) against control budgets.
Check recognized revenue against revenue estimate budgets.
When you set up your control budgets, you associate them with a particular General Ledger business unit and designate amounts for them. You also define which kinds of transactions you will check against your control budgets. After your budgets are established, you check all of these transactions against your budgets, passing or failing the transactions, depending on the remaining available budget amount and the degree of budgetary control you set up for your budgets.
See Also
Understanding Commitment Control Integration with PeopleSoft and Third-Party Applications
The integration of Receivables with Project Costing provides project managers with accounts receivable items and revenue related adjustments. As a result, project managers have information about the progress of a project in terms of the outstanding revenue.
The Receivables to Projects process (PC_AR_TO_PC) moves data from Receivables to Project Costing. The system identifies entry type and system functions for revenue related adjustments in AR and only those rows are moved to the Project Resource table.
See Also
Data flows both ways between Project Costing and Purchasing. You can enter requisition lines directly into Project Costing, retrieve them with the Purchasing Requisition Loader, and then process them as requisitions in Purchasing. Requisitions entered through another means into Purchasing can be brought into Project Costing as requisition lines. You can also pull transactions representing materials for which purchase orders have been created into Project Costing as committed costs.
Use the Purchasing to Projects process (PC_PO_TO_PC) to pull requisitions or purchase orders into Project Costing.
See Also
After you identify an item on a requisition as an inventory item by the PeopleSoft sourcing routine, you can check purchasing availability directly from Purchasing or create a demand and place it on the Inventory Demand Interface table (DEMAND_INF_INV), where Inventory picks it up.
Inventory then determines whether the demand can be fulfilled. If it cannot be fulfilled, it is sent back to Purchasing and a purchase order is generated or the demand is back ordered. If the demand can be fulfilled, the requested items are assigned to the Project ID identified on the demand. The fulfilled demand is then placed via Inventory Costing on the Invoice Accounting Distribution table (CM_ACCTG_LINE), where it is picked up by Project Costing and brought in as a resource transaction with an analysis type of ACT.
Use the Inventory Process Request page to pull fulfilled demands into Project Costing from Inventory.
See Also
After you create a purchase order in Purchasing, the system sends it to Payables. When you enter vouchers into Payables for bills received, they go through a matching process. After the system matches a voucher, it also approves and posts it to the Accounts Payable Accounting Entries table (VCHR_ACCTG_LINE). From this table, you can pull vouchers that carry a PC distribution status of N into Project Costing. The analysis type ACT appears by default.
Use the Payables Process Request page to run the Accounts Payable to Projects Interface process (PC_AP_TO_PC), and pull approved vouchers into Project Costing from Payables.
See Also
Project Costing integrates with third-party systems by giving you the ability to pull data elements from those systems into corresponding fields and tables in Project Costing. The requirements include the ability to export the information from the third-party systems into a database table or a flat file, and then import that information into the Project Costing interface tables.
See Also
Integrating with Third-Party Applications