Oracle PeopleSoft and Procore integration
Oracle PeopleSoft runs enterprise accounting and human resources. Procore runs construction project management and field operations. Connecting them keeps vendors, purchase orders, and project costs in agreement across both systems. New vendors created in PeopleSoft propagate to Procore, purchase order commitments flow both ways, and project cost postings from Procore close the loop back into PeopleSoft's general ledger. ml-connector bridges the two very different APIs and runs on the schedule you define.
What moves between them
Vendor records and GL accounts flow from PeopleSoft to Procore as read-only dimension tables that cost codes and budget line items reference. Purchase orders created in PeopleSoft populate Procore as commitments, and requisitions in Procore can link back to PeopleSoft POs. Project direct costs and change orders posted in Procore flow back to PeopleSoft as detailed cost transactions tagged to the correct GL account and cost center so month-end close can reconcile actuals against budget. The sync runs on a schedule you control, with one-way push from PeopleSoft (polling, since it has no webhooks) and real-time pull from Procore webhooks where they are configured.
How ml-connector handles it
ml-connector stores both credential sets encrypted. For PeopleSoft, it accepts the customer's full hostname, port, and node name since there is no shared base URL, and authenticates using either HTTP Basic (OPRID and password) or OAuth2 Bearer token depending on the PeopleTools version. For Procore, it exchanges the Developer Managed Service Account client ID and secret for an OAuth2 token, caching it for the 1.5-hour lifetime and refreshing before it expires. Because PeopleSoft has no webhooks, ml-connector polls vendor and PO tables on a schedule with date-range filters to avoid scanning the entire table, while Procore webhooks on commitments, requisitions, and direct costs stream in real time. Vendors and GL accounts must exist in Procore as cost codes before PeopleSoft costs can reference them. Every record carries a full audit trail, failed messages are queued for replay, and the integration tracks which PeopleSoft records have been synced so the same cost or vendor does not duplicate.
A real-world example
A mid-sized general contractor uses PeopleSoft for corporate accounting and procurement, and Procore as the system of record for project financials and field management across 20 active job sites. Before the integration, the accounting team manually imported vendor master data from PeopleSoft into Procore quarterly, and project managers entered purchase orders in Procore without visibility to PeopleSoft's AP function. Month-end close required exporting project costs from Procore and manually re-entering detail lines into PeopleSoft cost accounts to reconcile job profitability. With PeopleSoft and Procore connected, vendor changes sync automatically, purchase orders created in either system appear in the other, and actual costs from the field post into PeopleSoft's GL as they are recorded in Procore, eliminating manual entry and keeping project accounting current throughout the month.
What you can do
- Sync vendor master data from Oracle PeopleSoft to Procore cost codes so every vendor is available for commitments and invoices.
- Map purchase orders bidirectionally between PeopleSoft and Procore so POs created in either system appear in the other.
- Flow project direct costs and change orders from Procore back into Oracle PeopleSoft as GL postings tagged to the correct cost center.
- Authenticate Oracle PeopleSoft with HTTP Basic or OAuth2 depending on PeopleTools version, and Procore with Developer Managed Service Account OAuth2.
- Poll Oracle PeopleSoft on a schedule via date-range filters, receive Procore events in real time via webhooks, and replay failed transactions on both sides.
Questions
- Which direction does data move between Oracle PeopleSoft and Procore?
- Vendors and GL accounts flow from PeopleSoft to Procore as dimension tables. Purchase orders sync bidirectionally so an order created in either system appears in the other. Project costs and change orders flow from Procore back to PeopleSoft as GL postings so actuals close against budget. The sync runs on a schedule you define, with one-way polling from PeopleSoft (which has no webhooks) and real-time webhooks from Procore.
- Does Oracle PeopleSoft's self-hosted architecture require special setup?
- Yes. Each PeopleSoft customer operates their own environment with a unique hostname, port, and node name, so ml-connector accepts the full base URL per customer rather than a shared endpoint. The customer's firewall must whitelist the connector IP or expose PeopleSoft via a reverse proxy. Individual REST service operations must be activated by a PeopleSoft administrator in the Integration Broker console before the integration can call them.
- How does the integration handle Procore's OAuth2 token expiry and PeopleSoft's lack of webhooks?
- ml-connector caches the Procore OAuth2 token for its full 1.5-hour lifetime and refreshes it before expiry so calls always use a fresh token. For PeopleSoft, which has no webhooks, ml-connector polls vendor and PO tables on a schedule with date-range filters to fetch only new and changed records without scanning the entire table. Procore webhooks on commitments, requisitions, and costs stream in real time when configured.
Related integrations
More Oracle PeopleSoft integrations
Other systems that connect to Procore
Connect Oracle PeopleSoft and Procore
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started