ml-connector
Oracle PeopleSoftADP

Oracle PeopleSoft and ADP integration

Oracle PeopleSoft runs finance and HCM on your own servers. ADP runs payroll and HR in the cloud. Connecting the two keeps the general ledger and the workforce records in agreement without re-keying. After each ADP payroll run, the labor cost journals ADP produces post into PeopleSoft against the right ChartFields, and ADP hires, terminations, and rehires keep PeopleSoft job data current. ml-connector handles the very different interfaces on each side and moves the data on a schedule tied to your payroll calendar.

How Oracle PeopleSoft works

Oracle PeopleSoft exposes its data through Integration Broker on a customer-specific hostname, port, and node name, since it is self-hosted rather than a shared cloud service. Delivered REST endpoints are read-only inquiries for invoices, requisitions, and the employee directory, while writes such as GL journals and employee job records go through SOAP Component Interfaces like JOURNAL_ENTRY_CI, JOB_CI, and PERSONAL_DATA_CI. It authenticates with HTTP Basic Auth using an OPRID and password, or OAuth2 against an external identity provider on PeopleTools 8.58 and later. PeopleSoft has no self-service webhooks, so it is read by polling unless an admin configures Integration Broker to push XML messages.

How ADP works

ADP exposes workers, payroll input, pay distributions, cost center validation tables, and read-only general ledger documents through ADP API Central, a paid REST add-on that also supports OData query parameters. Every call requires OAuth2 client credentials and a mutual TLS client certificate, and the TLS handshake fails without the certificate. Writes to ADP go through event endpoints rather than direct field updates, and the general ledger documents ADP generates after payroll cannot be written back. ADP can also push worker and payroll events to a registered endpoint.

What moves between them

The main flow runs from ADP into Oracle PeopleSoft. After each payroll run, ml-connector reads ADP general ledger documents and posts the labor cost journals into PeopleSoft through the JOURNAL_ENTRY_CI SOAP service, mapped to the matching PeopleSoft ChartFields. Worker records flow the same direction, so PeopleSoft job data reflects ADP hires, terminations, and rehires through the JOB_CI and PERSONAL_DATA_CI Component Interfaces. Reference data such as cost centers and departments is aligned across both sides so payroll allocations land on valid PeopleSoft accounts. ADP general ledger documents are read-only, so ml-connector never writes financial entries back into payroll.

How ml-connector handles it

ml-connector stores both credential sets encrypted and presents the ADP client certificate at the TLS layer on every request, refreshing the ADP bearer token when a call returns 401. On the PeopleSoft side it accepts the customer-specific base URL and Integration Broker node name, since there is no shared hostname, and sends Basic Auth or an OAuth2 bearer token depending on the PeopleTools version. Because PeopleSoft has no public webhooks and its delivered REST endpoints are read-only, GL writes go through the JOURNAL_ENTRY_CI SOAP Component Interface and employee writes through JOB_CI, so the connector parses the XML rowset responses these services return. ADP general ledger documents and worker data are polled on a schedule tied to your payroll calendar, and ADP event notifications can be received where they are enabled. Cost centers from ADP validation tables are mapped to PeopleSoft ChartFields first, so every journal line references an account that already exists. ADP rate limits return HTTP 429 per gateway node and PeopleSoft is self-hosted with no built-in limit, so ml-connector polls conservatively, backs off and retries, and tracks the ADP certificate expiry so a renewal does not turn into an outage. Every record carries a full audit trail and can be replayed if a downstream call fails.

A real-world example

A mid-sized professional services firm runs Oracle PeopleSoft on Oracle Cloud Infrastructure for finance and HCM across several offices, and uses ADP Workforce Now for payroll. Before the integration, the finance team exported payroll registers from ADP each pay period and re-entered the labor totals into PeopleSoft by hand, then spent the start of month-end close chasing differences between HR headcount and the labor accounts in the ledger. With Oracle PeopleSoft and ADP connected, each payroll run's general ledger document posts into PeopleSoft automatically, allocated to the cost center for each office, and worker changes keep the two systems aligned. Month-end close starts with the labor accounts already reconciled, and the manual re-keying step is gone.

What you can do

  • Post ADP payroll general ledger documents into Oracle PeopleSoft through the JOURNAL_ENTRY_CI SOAP service after every pay run.
  • Keep PeopleSoft job records aligned with ADP hires, terminations, and rehires using the JOB_CI and PERSONAL_DATA_CI Component Interfaces.
  • Map ADP cost centers and departments to PeopleSoft ChartFields so payroll journals land on valid accounts.
  • Authenticate ADP with OAuth2 and the required mutual TLS certificate, and PeopleSoft with Basic Auth or an OAuth2 bearer token on your own base URL and node.
  • Poll on a schedule tied to your payroll calendar, with backoff on HTTP 429, retries, and a full audit trail on every record.

Questions

Which direction does data move between Oracle PeopleSoft and ADP?
The main flow is ADP into Oracle PeopleSoft. Payroll general ledger documents and worker records move from ADP into PeopleSoft, while cost centers and departments are aligned across both sides. ADP general ledger documents are read-only, so ml-connector does not write financial entries back into payroll.
How does ml-connector write data into PeopleSoft when its REST endpoints are read-only?
PeopleSoft delivered REST endpoints are read-only inquiries, so GL postings go through the JOURNAL_ENTRY_CI SOAP Component Interface and employee updates through JOB_CI and PERSONAL_DATA_CI. ml-connector builds the SOAP request against your Integration Broker node and parses the XML rowset response these services return. The relevant service operations must be activated on the PeopleSoft side first.
Does ADP's mutual TLS certificate requirement need special setup?
Yes. ADP requires a client certificate at the TLS layer on every call in addition to OAuth2 client credentials, and the handshake fails without it. ml-connector stores the certificate encrypted, presents it on each request, and tracks its expiry so a renewal is handled before it can cause an outage.

Related integrations

Connect Oracle PeopleSoft and ADP

Free to use. Add your credentials, ping your real systems, and see if we fit.

Get started