ml-connector
DeltekSAP SuccessFactors

Deltek and SAP SuccessFactors integration

Deltek runs project-based finance and accounting for professional services firms. SAP SuccessFactors is the HR system of record for workers, jobs, org structure, and cost centers. Connecting the two keeps the Deltek Vantagepoint employee hub aligned with the HR truth in SuccessFactors, so hires, terminations, and job moves do not have to be re-keyed into accounting. ml-connector reads worker, job, and compensation data from SuccessFactors and maps cost centers to Vantagepoint organizations. Because SuccessFactors holds no invoices, purchase orders, or GL accounts, the ledger stays in Deltek where it belongs.

How Deltek works

Deltek Vantagepoint exposes firms, contacts, employees, and projects through Hub REST APIs, and AP invoices, AR invoices, journal entries, cash receipts, expense reports, and payments through Accounting Transaction APIs, all on a tenant-specific deltekfirst.com URL with no shared hostname. Authentication is OAuth 2.0 password grant, which requires the Allow Password Grant Type setting to be enabled and an API user with accounting and administrator roles. Vantagepoint supports workflow-driven webhooks on record save events but carries no HMAC signature, so records are read by page-based polling. Older Costpoint sites integrate over SOAP web services and flat-file preprocessor templates and are pull-only.

How SAP SuccessFactors works

SAP SuccessFactors exposes Employee Central through the HCM Suite OData V2 API over HTTPS and JSON, including PerPerson, EmpEmployment, EmpJob, EmpCompensation, FOCostCenter, and FODepartment. The API host is datacenter-specific, so the hostname is captured per tenant. Authentication is OAuth 2.0 SAML Bearer Assertion: an RSA private key signs a SAML assertion that is exchanged for a Bearer token valid for up to 24 hours, and a valid token still needs Role-Based Permissions for every entity read. Reads use delta sync on lastModifiedDateTime, and Intelligent Services can push HR events such as NewHire, Termination, or JobInfoChange to a configured endpoint, signed with HMAC-SHA256.

What moves between them

The flow runs from SAP SuccessFactors into Deltek Vantagepoint. ml-connector reads worker, employment, and job records from SuccessFactors and keeps the Vantagepoint employee hub current with hires, terminations, rehires, and job changes such as department, title, manager, or cost center. Compensation records are read so labor cost can post into Vantagepoint as journal entries allocated to the matching GL accounts and organizations. Cost center and department reference data is aligned so every allocation lands on a valid Vantagepoint dimension. SuccessFactors is the HR system of record and holds no GL, so ml-connector never writes financial entries back into SuccessFactors.

How ml-connector handles it

ml-connector stores both credential sets encrypted. On the SuccessFactors side it signs a SAML assertion with the customer's RSA private key, exchanges it for a Bearer token against the datacenter-specific API host for that tenant, and refreshes the token before its 24-hour expiry; a missing Role-Based Permission shows up as a 403 rather than a 401, so the integration user needs grants for each entity it reads. On the Deltek side it accepts the full tenant deltekfirst.com URL, database name, and password-grant credentials per customer, refreshes the bearer token before it expires, and requires the API user to have accounting and administrator roles so journal entries are allowed to post. SuccessFactors is read by delta sync on lastModifiedDateTime with $top set to 1000 so records are not silently missed, and Intelligent Services events such as NewHire or JobInfoChange can trigger an immediate pull where they are configured. Cost centers and departments are mapped first, so every Vantagepoint employee and journal line references an organization that already exists. Employees are deactivated, not deleted, in SuccessFactors, so termination logic keys on status changes rather than deletion events. Vantagepoint has no idempotency key, so ml-connector checks for an existing record before posting to avoid duplicates, and SuccessFactors throttling returns HTTP 429 or 503, so it keeps concurrency low and backs off with jitter. Every record carries a full audit trail and can be replayed if a downstream call fails.

A real-world example

A mid-sized architecture and engineering firm with around 350 staff across three studios runs Deltek Vantagepoint for project accounting, billing, and finance, and uses SAP SuccessFactors Employee Central as the HR system of record. Before the integration, an administrator re-keyed every new hire, termination, and transfer into the Vantagepoint employee hub by hand, and the labor cost split across studios came from a spreadsheet that drifted out of date whenever a department was renamed or someone moved sites. With Deltek and SAP SuccessFactors connected, worker and job changes flow into the Vantagepoint employee hub automatically, labor cost posts as journal entries allocated to the organization for each studio, and the cost center splits in the ledger match the HR records. The manual re-keying is gone and headcount stays reconciled.

What you can do

  • Keep the Deltek Vantagepoint employee hub aligned with SAP SuccessFactors hires, terminations, rehires, and job changes.
  • Post labor cost derived from SAP SuccessFactors compensation into Vantagepoint as journal entries on the right GL accounts and organizations.
  • Map SAP SuccessFactors cost centers and departments to Vantagepoint organizations so labor lands on valid dimensions.
  • Read workers, jobs, and compensation from SAP SuccessFactors by OData delta sync on lastModifiedDateTime.
  • Bridge the SAP SuccessFactors SAML Bearer token and Deltek's tenant URL and password-grant login, with retries, error replay, and a full audit trail.

Questions

Which direction does data move between Deltek and SAP SuccessFactors?
The flow is SAP SuccessFactors into Deltek Vantagepoint. Worker, job, and compensation data moves from SuccessFactors into the Vantagepoint employee hub and, as labor cost, into Vantagepoint journal entries, while cost centers and departments are aligned so allocations match. SuccessFactors is the HR system of record and holds no GL, so ml-connector does not write financial entries back into it.
Does SAP SuccessFactors hold invoices or GL accounts that post into Deltek?
No. SAP SuccessFactors is an HCM system with no invoice, purchase order, payment, or general ledger objects. What it provides is workers, jobs, compensation, and cost center codes in EmpJob and FOCostCenter, and ml-connector maps that into Deltek as employee records and labor cost journal entries against valid organizations, while the chart of accounts stays in Vantagepoint.
How does the integration handle authentication and the lack of a hard delete in SuccessFactors?
On the SuccessFactors side ml-connector signs a SAML assertion with the customer's RSA private key and exchanges it for a Bearer token that lasts up to 24 hours, and the API user must also hold Role-Based Permissions for each entity. On the Deltek side it uses the OAuth 2.0 password grant against the tenant URL, which needs the Allow Password Grant Type setting enabled. Because SuccessFactors deactivates employees rather than deleting them, ml-connector treats a status change to inactive as a termination instead of waiting for a delete event.

Related integrations

Connect Deltek and SAP SuccessFactors

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

Get started