Pre-built sap successfactors data migration for Employee Central, Performance, Compensation, Recruiting and Learning. OData v2/v4 extractors with OAuth, Compound Employee API validation, effective-dated history rebuild, FO-to-Fusion-workstructure crosswalks, HDL emitters, row-level reconciliation. Audit-ready evidence at every load.
The hard part isn't pulling JSON from OData. It's translating SuccessFactors' Foundation-Object and effective-dated data model into Fusion HCM's worker / work-relationship / assignment / salary hierarchy without losing a single version row.
SuccessFactors, acquired by SAP in 2011 for $3.4B, presents a cloud-native data model built around PerPerson, PerEmployment, EmpJob and EmpCompensation with deep effective-dated history (every change is a new version row), Foundation Objects driving workstructure, Position management with effective-dated position history, MDF custom objects extending the schema, and Role-Based Permissions controlling access. Oracle Fusion HCM uses a different shape — Person, WorkRelationship, Assignment with date-effective updates, Locations/LEs/Departments/Grades as workstructure objects, DFFs/EFFs for extensibility, and role-based security split across data/abstract/duty roles.
Every sap successfactors data migration to Oracle Fusion has to bridge those gaps without breaking the effective-dated chain that links today's headcount back to the original hire action seven years ago. Custom OData clients and one-off transformation SQL can do it — but every domain becomes a multi-week negotiation between HRIS, compliance and integration teams. Syntra ETL replaces that with pre-built crosswalks refined across dozens of SuccessFactors conversions.
The same engine handles three deployment scenarios: full SF replacement (EC + Performance + Comp + Recruiting + Learning → Fusion HCM), EC-only migration with Performance/Comp/Recruiting kept on SF (common during phased rollouts), and the consolidation pattern where Recruiting and Learning migrate to Fusion ahead of Core HR.
The transformations Syntra ETL ships pre-built. No custom OData scaffolding, no multi-month bespoke conversion development.
Per-change version rows from EmpJob/EmpEmployment/EmpCompensation normalized into a date-banded canonical model. Projected as current state or full history into Fusion's effective-dated tables.
FOLocation, FOCompany, FODepartment, FOPayGrade walked and mapped to Fusion workstructures in dependency order. Cross-FO relationships preserved for Position load.
20–80 MDF custom objects classified by reporting materiality and routed: required data to DFFs/EFFs/Lookup Codes, analytical data to OTBI dimensions or archive.
SF Role-Based Permissions (permission roles + permission groups) inventoried, stale roles flagged (25–40% retired), translation to Fusion data/abstract/duty roles drafted.
EmpCompensation, EmpPayCompRecurring/NonRecurring and PaymentDirectives converted with full pay-component history. Routes to Fusion Salary.dat or Element Entries.
Every effective-dated version row carries original SF key as cross-reference. Delete decisions logged. Read-access log captured for GDPR DSARs and works-council audits.
A repeatable load order that respects Fusion HCM's data dependencies. Skip a step and your Worker.dat load fails on missing legal employers or locations.
Fusion enterprise structures, ledgers, business units, legal employers, departments, locations, grades, jobs, positions configured. Loaded via FSM tasks — not user-facing data, but every downstream HDL load depends on it.
FOLocation → Location, FOCompany → Legal Employer, FODepartment → Department, FOPayGrade → Grade, FOCostCenter → Cost Center loaded via HDL Location.dat / Department.dat / Grade.dat. Loaded in dependency order — locations before departments, departments before positions.
Worker.dat (person + national identifier + person address + person email + person phone) and WorkRelationship.dat loaded. Person hashes preserved for downstream reconciliation.
Assignment.dat with full effective-dated history (every job change, manager change, location change, position change) and Salary.dat with full pay-history loaded. Effective-dated row counts validated against SF source.
Performance forms (Goals.dat / GoalLibrary.dat), comp plans (Workforce Compensation), succession data, learning completion records loaded. Approval and ownership context preserved.
Final delta replay via OData modified-since watermarks, parallel-month reconciliation (headcount, effective-dated rows, comp totals — SF vs Fusion to the row), sign-off pack. Production cut to Fusion.
Each emitter validated against the current Fusion 26x HCM Data Loader schema. Drop in, run, reconcile.
PerPerson + PerPersonal + PerNationalIdentifier + PerAddress + PerEmail + PerPhone converted to Fusion Worker.dat with proper person-type classification (employee/contingent/pending hire).
PerEmployment + EmpJob with full effective-dated history → WorkRelationship.dat and Assignment.dat. Job/grade/location/manager/position changes preserved as date-effective updates.
EmpCompensation + EmpPayCompRecurring → Salary.dat with full pay-history; EmpPayCompNonRecurring → Element Entry.dat for one-time payments. Currency and pay-period context preserved.
FormHeader + FormReview + GoalDetail → Fusion Goal.dat and Performance Document.dat. Goal libraries, calibration sessions and 360 feedback context preserved or archived.
Employee Files (contracts, ID copies, work permits, training certificates) from EC Document Generation → DocumentRecord.dat with attachment metadata. Multi-TB document archives streamed in parallel.
User completion records, curricula, certifications, learning paths from SF LMS → Oracle Learning Cloud REST API payloads or long-term LMS archive depending on target strategy.
SAP SuccessFactors data migration is the process of moving Employee Central worker records (PerPerson, PerEmployment, EmpJob, EmpCompensation), Performance & Goals form data, Compensation and Variable Pay plans, Succession pools, Recruiting job reqs and applications, Onboarding workflows and Learning completion records from your SAP SuccessFactors tenant into Oracle Fusion HCM. The technical heart is three-fold: streaming structured data through OData v2/v4 with OAuth/SAML governance, pulling full-employee snapshots through the Compound Employee API for validation, and bulk-loading effective-dated history into Fusion HCM Data Loader (HDL). Syntra ETL handles all three with pre-built extractors, governed crosswalks for SF Foundation Objects to Fusion workstructures, and Oracle-validated HDL Worker.dat / WorkRelationship.dat / Assignment.dat / Salary.dat output.
Migration is the end-to-end project (extract + transform + load + reconcile + cutover). Conversion is the transformation layer specifically. Syntra ETL's sap successfactors data migration engine ships pre-built rules for FOLocation→Fusion Location, FOCompany→Legal Employer, FODepartment→Department, FOPayGrade→Grade, EmpJob effective-dated history → Fusion Assignment effective-dated history, EmpCompensation → Salary, MDF custom objects → Fusion DFFs/EFFs, RBP permission roles → Fusion data/abstract/duty roles. These are rules that on a consultant-led project would otherwise eat 4–5 months of bespoke OData client and conversion SQL development.
Effective-dated history is the single biggest row-volume driver in SF data migration. Every change to a worker — job, location, manager, comp — creates a new effective-dated row in EmpJob, EmpEmployment, EmpCompensation. A 10-year employee easily has 80–150 rows across these entities, and a tenant of 50,000 employees can easily reach 5–8M version rows. Syntra ETL streams the version-row history through OData with asOfDate / fromDate / toDate parameters (typically 100 concurrent connections, respecting SF OData rate limits), normalizes into a date-banded canonical model, and emits either current-state HDL (when Fusion needs only today's state) or full effective-dated HDL (when 7+ years of HR audit history must live in Fusion). The Compound Employee API runs in parallel as the validation backstop.
Yes. Metadata Framework (MDF) custom objects are SF's extensibility layer — customers commonly carry 20–80 MDF objects driving everything from custom award programs to country-specific compliance fields to internal-only org dimensions. Foundation Objects (FOLocation, FOCompany, FODepartment, FOPayGrade, FOCostCenter) are the workstructure backbone. Syntra ETL's converter walks every MDF object and FO type in the source tenant, classifies by reporting materiality, and routes: required MDF data collapses into Fusion DFFs/EFFs/Lookup Codes, FO records map to Fusion HCM workstructures in dependency order, analytical-only MDF data routes to OTBI dimensions or to the long-term SF archive. No custom-object data lost in translation.
Syntra ETL emits Fusion HCM-native load formats for every SuccessFactors data domain: HCM Data Loader (HDL) DAT files (Worker.dat, WorkRelationship.dat, Assignment.dat, Salary.dat, Element Entry.dat, Document Record.dat) for worker, employment, comp and pay-history loads; FBDI for those few HR-adjacent areas where Oracle still uses FBDI (Element Entries bulk, Bank Setup); and REST API payloads for incremental delta loads during parallel-run and post-cutover (HCM REST API for assignment changes, Talent REST for goals). Every payload is validated against the current Oracle Fusion 26x release HCM templates before submission, so validation errors surface locally — not in a 4-hour HDL job that fails 60,000 rows in.
Every worker extracted from SF is hashed at the source (person hash + employment hash + assignment hashes + salary hashes). Every worker loaded into Fusion is re-hashed post-load. The reconciliation engine compares counts (workers, work relationships, assignments, salary records), current-state field values (job, grade, location, manager, salary), and effective-dated version-row counts per business unit. Any record that fails Fusion validation is captured with the exact field-level reason ready for bulk fix. The Compound Employee API snapshot is compared against the Fusion REST snapshot as an independent cross-check. Output is a signed timestamped reconciliation pack: SF headcount vs Fusion headcount to the person, comp totals to the cent, effective-dated row counts to the row.
Yes. After the initial bulk load, Syntra ETL captures SF deltas via OData's modified-since watermark on each domain (PerPerson, PerEmployment, EmpJob, EmpCompensation, FormHeader, JobReq) and replays them into Fusion through HCM REST APIs. This supports the standard parallel-run pattern: SF continues taking hire actions and HR transactions for 1–2 month-end cycles while Fusion is validated to the row. Once HR, payroll and compliance sign off, new transactions cut to Fusion and the SF tenant moves to read-only archive mode. For customers using Employee Central Payroll, payroll cutover is sequenced separately given the SAP Payroll engine dependency.
EU GDPR requires HR data to be retained only as long as legally necessary, with documented retention and right-of-access for data subjects. EU/German works-council records (under the Betriebsverfassungsgesetz) commonly require 10+ years of retention. Syntra ETL's sap successfactors data migration preserves the full chain: every HDL load is signed and timestamped, every effective-dated version row carries the original SF effective-dated key as cross-reference, every delete decision (e.g., ex-employees beyond retention) is logged. Whether worker history lands in Fusion HCM or in the long-term SuccessFactors archive, the read-access log is captured for GDPR DSARs and works-council audits. No reconstruction needed when DPOs or works-council reps arrive.
Book a 30-minute discovery call. We'll walk through your effective-dated history volume, Foundation Object design, MDF custom-object footprint and RBP role profile — and give you a concrete reconciliation strategy and HDL load plan before the call ends.