SYSPRO and SAP SuccessFactors integration
SYSPRO runs manufacturing, distribution, and finance. SAP SuccessFactors manages your workforce and organizational structure. Connecting the two keeps your headcount and cost center dimensions aligned across both systems. New hires and job changes in SAP SuccessFactors sync into SYSPRO, and cost center updates flow both ways so payroll allocations land on valid GL dimensions. ml-connector handles the very different APIs and authentication schemes on each side and moves the data on a schedule you control.
What moves between them
The main flow runs from SAP SuccessFactors into SYSPRO. Employee records (PerPerson, EmpJob, EmpCompensation) flow from SuccessFactors into SYSPRO so headcount and job codes stay aligned, and cost center assignments (FOCostCenter) flow in both directions so payroll allocations land on valid SYSPRO GL dimensions. Changes are detected via delta sync using lastModifiedDateTime filters on SuccessFactors data and polling SYSPRO OData tables on a regular schedule. Reference data such as job codes, departments, and cost centers is aligned first so every employee record maps to valid SYSPRO accounts.
How ml-connector handles it
ml-connector stores both credential sets encrypted and uses the session token auth for SYSPRO (including session timeout and re-login on expiry) and OAuth2 SAML Bearer Assertion for SAP SuccessFactors (refreshing the token every 24 hours). It accepts the customer's SYSPRO server URL and OData credentials (operator code and password) since SYSPRO publishes no shared base address, and it accepts the SAP SuccessFactors datacenter hostname (e.g., api4.successfactors.com for US) since each customer runs on a region-specific API endpoint. Because SYSPRO is pull-only (OData is read-only and there are no webhooks), ml-connector polls both systems on a schedule you define, typically tied to your payroll or workforce update calendar. Cost centers and departments are aligned first so every employee record references dimensions that already exist in SYSPRO. SAP SuccessFactors throttles at HTTP 429 when concurrent threads exceed 4 on some tenants, so ml-connector respects this and backs off with exponential retry. Every record carries a full audit trail and can be replayed if a downstream call fails.
A real-world example
A mid-sized discrete manufacturer runs SYSPRO Adaptive ERP for production, procurement, and finance across three plants, and uses SAP SuccessFactors Employee Central for HR and payroll in the cloud. Before the integration, the finance team received monthly employee updates from HR, manually checked them against job codes in SYSPRO, and corrected cost center assignments in the GL when employees changed jobs or moved between plants. With SYSPRO and SAP SuccessFactors connected, each job change and employee termination in SuccessFactors flows into SYSPRO automatically, and cost centers stay aligned across both systems. Month-end close starts with employee and cost center data already reconciled, and the manual recheck step is gone.
What you can do
- Sync employee data from SAP SuccessFactors into SYSPRO (names, job codes, employment dates, compensation) to keep headcount and cost centers aligned across both systems.
- Align cost centers and departments in both directions so payroll allocations land on valid SYSPRO GL dimensions.
- Authenticate SYSPRO with session token auth (including re-login on timeout) and SAP SuccessFactors with OAuth2 SAML Bearer Assertion, automatically refreshing tokens.
- Poll both systems on a schedule you define, detecting changes via lastModifiedDateTime delta sync on SuccessFactors and timestamp filters on SYSPRO OData tables.
- Handle SAP SuccessFactors throttling (HTTP 429) and per-company URL configuration for both systems, with full audit trail and error replay on every record.
Questions
- Which direction does data move between SYSPRO and SAP SuccessFactors?
- The main flow is SAP SuccessFactors into SYSPRO. Employee records, job codes, and compensation flow from SuccessFactors into SYSPRO to keep headcount aligned. Cost centers and departments are aligned in both directions so every employee record maps to valid SYSPRO GL dimensions. SYSPRO OData is read-only, so ml-connector uses Business Objects APIs for any writes to cost center or GL account configuration.
- How does ml-connector handle the different authentication schemes between SYSPRO and SAP SuccessFactors?
- SYSPRO uses session token auth where ml-connector logs in once, stores the UserId GUID, and includes it on all subsequent calls, re-logging in if the session times out. SAP SuccessFactors uses OAuth2 SAML Bearer Assertion, where ml-connector signs a SAML assertion with the customer's private key and exchanges it for a 24-hour access token, refreshing automatically when it expires. Each is encrypted and stored separately.
- Why does ml-connector poll instead of relying on webhooks from SYSPRO?
- SYSPRO does not publish outbound webhooks; the OData API is read-only. ml-connector polls SYSPRO OData tables on a schedule (typically 5-15 minutes for financial data) using timestamp filters on fields like PostDate and InvoiceDate. SAP SuccessFactors can push events, but webhook subscriptions must be configured in the SuccessFactors Admin Center UI, so ml-connector also pulls via delta sync using lastModifiedDateTime to ensure all changes are captured.
Related integrations
More SYSPRO integrations
Other systems that connect to SAP SuccessFactors
Connect SYSPRO and SAP SuccessFactors
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started