Exact Online and SAP SuccessFactors integration
Exact Online runs accounting, purchasing, and inventory for European and US SMEs. SAP SuccessFactors runs human capital management and payroll across the organization. Connecting them keeps your employee roster and cost center assignments synchronized between HR and finance, so payroll allocations land on valid GL dimensions and headcount in Exact always matches the current workforce. ml-connector bridges the very different authentication models and moves the data on a schedule you control.
What moves between them
The main flow is SAP SuccessFactors into Exact Online. Employee records, job assignments, and cost center codes move from SuccessFactors into Exact on a weekly or bi-weekly schedule timed to your HR cycle. Cost centers and departments are synchronized bidirectionally so that when Exact accounting staff configure a new cost center, SuccessFactors can reference it, and when SuccessFactors HR adds employees to cost centers, those codes already exist in Exact. Exact employee records are read-only in the integration; all changes originate from SuccessFactors.
How ml-connector handles it
ml-connector stores SuccessFactors RSA private key encrypted and constructs SAML assertions on-demand, refreshing the 24-hour bearer token each time a request returns 401 Unauthorized. On the Exact side, it caches the OAuth 2.0 access token and refreshes it before the 10-minute expiry window to avoid mid-request token death. Because Exact requires a division ID per tenant, ml-connector retrieves and stores this on first authentication. SuccessFactors enforces a maximum of 10 concurrent threads and returns HTTP 429 when throttled, so ml-connector applies exponential backoff and retries. Employee records are fetched with a lastModifiedDateTime filter to pull only changes since the last run, and cost centers are fetched fresh each cycle to catch any Exact updates. Every record carries a full audit trail, and failed syncs can be replayed.
A real-world example
A mid-sized manufacturing and logistics company based in the Netherlands runs Exact Online for accounting and purchasing across three locations and uses SAP SuccessFactors for payroll and HR across 150 employees. Before the integration, the finance team manually uploaded a CSV of active employees and their cost center assignments from SuccessFactors into Exact every month, a process that took several hours and was error-prone when employees transferred between locations. With Exact and SuccessFactors connected, the employee roster and cost center codes sync automatically every Friday afternoon, accounting staff see headcount changes reflected in real time, and month-end closing is faster because payroll allocations are already assigned to valid cost centers.
What you can do
- Sync active employees, job titles, and employment status from SAP SuccessFactors into Exact Online on a weekly schedule.
- Map SuccessFactors cost center codes to Exact cost centers so payroll allocations land on valid dimensions.
- Refresh OAuth 2.0 and SAML assertion tokens before expiry and handle throttle responses on both sides with exponential backoff.
- Pull only changes since the last run using lastModifiedDateTime filters to reduce API volume and sync latency.
- Maintain a full audit trail of every employee and cost center record moved, with the ability to replay failed syncs.
Questions
- Which direction does data flow between Exact Online and SAP SuccessFactors?
- The main flow is SAP SuccessFactors into Exact Online. Employee records, job assignments, and cost center codes move from SuccessFactors into Exact on a regular schedule. Cost centers and departments are aligned in both directions so that new cost centers in Exact are visible in SuccessFactors and new cost center assignments in SuccessFactors sync into Exact. Exact employee records are read-only in the integration.
- How does ml-connector handle the different authentication models between the two systems?
- Exact Online uses OAuth 2.0 Authorization Code Grant with 10-minute access tokens that ml-connector refreshes before expiry. SAP SuccessFactors uses OAuth 2.0 with SAML Bearer assertion authentication, where ml-connector stores the RSA private key encrypted and constructs signed assertions on-demand, refreshing the 24-hour bearer token when a request returns 401. Both systems enforce token lifetimes, so ml-connector tracks expiry windows and refreshes proactively to avoid mid-request failures.
- How does the integration handle Exact Online's requirement to fetch employee data separately from webhook notifications?
- ml-connector uses webhooks from Exact for account and cost center changes but polls for employee records on a schedule because webhooks contain only the entity key and action, not the full record. For SAP SuccessFactors, ml-connector pulls employee records and cost centers using lastModifiedDateTime filters to fetch only changes since the last run, reducing API volume and ensuring reliable incremental syncs across both systems.
Related integrations
More Exact Online integrations
Other systems that connect to SAP SuccessFactors
Connect Exact Online and SAP SuccessFactors
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started