Pre-built Sage People data conversion for every functional area. Salesforce custom-object extractors, effective-dated HCM converters, HDL/EIB emitters, row-level reconciliation. Audit-ready evidence at every load.
The hard part isn't moving rows. It's translating Salesforce-platform custom-object data into a target HCM's data model without losing meaning or history.
Sage People is built on the Salesforce Platform — every employee, assignment, salary record, leave request is a Salesforce custom object (Worker__c, Employment_Record__c, Salary__c, Leave_Request__c) with custom fields, sharing rules, and platform metadata. Oracle Fusion HCM uses a completely different data model: HCM business objects loaded via HDL, BU-driven security, reference-data sets, effective-dated work relationships and terms.
Every Sage People data migration has to bridge these models — and the bridging is where projects slip from quarters into years. Custom SOQL scripts and hand-rolled HDL templates can do it, but each object is a multi-week negotiation between HR, payroll, technical, and audit teams. Syntra ETL replaces that with pre-built crosswalks refined across multiple Sage People-to-Fusion conversions.
The same engine handles three deployment scenarios: full Sage People replacement (HCM + Payroll integration → Fusion HCM and Fusion Payroll), HCM-only migration (Fusion HCM but keeping the existing UK payroll provider intact), and the parallel pattern where Sage People stays live for a long-tail subsidiary while the corporate parent runs Fusion.
The transformations Syntra ETL ships pre-built. No custom code, no multi-month bespoke SOQL/HDL development.
Bulk API 2.0 for high-volume objects, REST API for reference data, Metadata API for schema and customizations. Integration User pattern, daily-limit-safe, runs during low-usage windows.
Employment_Record__c, Salary__c, Position__c history walked per employee, converted to Fusion HDL Worker/Assignment/Salary event sequences with full 7–10 year history preservation.
Sage People's Salesforce sharing-rule visibility (territory hierarchy, custom criteria-based rules) translated to Fusion's reference-data-set and BU-driven security model with no loss of access scope.
Sage 50 / third-party RTI integration field mappings, accrual rules, P11D inputs, auto-enrolment pension feeds — extracted so Fusion Payroll UK lands pre-configured for HMRC submission.
Fuzzy-match de-duplication across Worker__c records (catches multi-employment, rehires, M&A-acquired duplicates). Manager hierarchies and direct-report chains preserved through the merge.
Current accrual balances, carry-over from prior periods, UK statutory leave entitlements — converted to Fusion Absence Management plans with audit-ready balance derivation.
A load order that respects Fusion HCM's data dependencies. Skip a step and your Assignment load fails on missing Workers.
Fusion enterprise structures, legal employers, BUs, reference-data sets, value sets, payroll definitions configured. Loaded via FSM tasks — everything downstream depends on this foundation.
Departments, locations, jobs, positions, grades, salary basis, absence plans loaded via HDL Reference HCM business objects. Validated against Sage People hierarchies for parent-child integrity.
Worker.dat, WorkRelationship.dat, WorkTerms.dat HDL loads in dependency order. Full effective-dated employment history sequenced per worker. Manager-direct-report chains validated.
Assignment.dat, Salary.dat HDL loads — current assignments + historical assignment events + salary chain. Compensation Workbench eligibility validated post-load.
Absence entitlement balances, in-flight leave requests, open performance reviews, open onboarding workflows — loaded via HDL and REST API. Each load reconciled to Sage People before next stage.
Final delta replay, parallel-cycle reconciliation, sign-off pack generation (active headcount, total annualised salary, leave balance hours, manager hierarchy — Sage People vs Fusion to the person). Production cut to Fusion.
Every Sage People data migration load produces signed, drill-downable reconciliation reports.
Source Sage People object count vs Fusion-loaded count per business object, per BU, per pay group. Variance threshold zero for active workers; configurable for historical.
Active headcount, total annualised salary, leave balance hours, FTE rollups reconciled per legal employer per BU. Variance flags surfaced before any subsequent load is allowed.
Each record content-hashed at Sage People source and re-hashed post-Fusion load. Hash drift indicates transformation bug or corruption — surfaced with field-level diff.
Sage People manager-direct-report chain vs Fusion supervisor hierarchy — drilled per level, validated end-to-end. Org chart integrity confirmed before cutover.
Total salary, bonus, allowance amounts in Sage People vs Fusion Salary records — bucketed by pay group, salary basis, grade. Audit signs the pack directly.
Available balances, accruals year-to-date, carry-over from prior periods in Sage People vs Fusion Absence plans. UK statutory leave entitlements verified per HMRC rule.
Sage People data migration is the end-to-end process of moving HR and payroll data from a Sage People (formerly Fairsail) Salesforce-platform org into a target system — most commonly Oracle Fusion HCM, but also Workday, SuccessFactors, or a long-term archive. The technical heart is extracting from Salesforce custom objects (Worker__c, Employment_Record__c, Salary__c, Leave_Request__c, Position__c) via the Salesforce Bulk API 2.0 and REST API, transforming the Salesforce-shaped data into the target system's data model (Fusion HCM Data Loader business objects, for example), and loading with full reconciliation. Syntra ETL ships pre-built converters for every standard Sage People object plus extensibility for the custom fields your org has added on top.
The scope spans every Sage People functional area. Core HR: Worker__c (employee records), Employment_Record__c (job history), Position__c (positions), Department, Location, Cost Centre. Compensation: Salary__c, Bonus__c, Allowance__c, Pay Component definitions, Salary Review cycles. Absence & Leave: Leave_Request__c, Absence Policies, accrual balances, carry-over rules, statutory leave (SSP, SMP, SPP for UK). Time: Timesheet entries, project allocations, billable splits. Expenses: Expense Report header and lines, receipt metadata, approval workflow state. Talent: Performance reviews, Goal__c, 360 feedback, succession plans. Recruiting (where Sage People Recruit is in use): Candidate, Application, Offer records. Custom fields and custom objects your org has added are picked up dynamically from the Salesforce schema.
Salesforce orgs have strict daily API request limits — 15,000/day for Enterprise Edition, scaled higher with API call add-ons. A naive extract of Worker__c, Employment_Record__c history, and Leave_Request__c could burn limits in hours. Syntra ETL uses Salesforce Bulk API 2.0 (each bulk job counts as one API call regardless of row volume), chunks extraction into 10,000-record batches, runs during low-usage windows (typically 2–6 AM in your local timezone), and throttles concurrent jobs. A full Sage People HCM extraction for a 5,000-employee customer typically consumes 200–400 standard API calls plus 4–8 Bulk API jobs — well under daily limits. We coordinate timing with your Salesforce administrator.
Sage People uses Salesforce's standard record-history pattern combined with custom date fields on Employment_Record__c (Effective_Date__c, End_Date__c) and Salary__c. Fusion HCM is effective-dated end-to-end and expects history presented as HDL worker/assignment/salary event sequences. Syntra ETL's converter walks the Sage People history per employee, identifies meaningful events (hire, promotion, salary change, transfer, leave-of-absence, termination, rehire), produces HDL-compliant event chains, and validates against Fusion's HDL business rules before load. Customers routinely preserve 7–10 years of HR history through this path — limited mainly by how long the source org has been live.
Yes. While the most common target is Oracle Fusion HCM (this is where Syntra ETL ships the deepest pre-built converters), the same extraction layer feeds Workday EIB/Core Connector loads, SuccessFactors HCI integrations, BambooHR API loads, and HiBob bulk imports. The extraction stage is Sage People-specific; the load stage is target-specific. Customers running M&A consolidation onto a non-Oracle HCM standard use the same Syntra ETL pipeline with a different load emitter. A common pattern is to extract Sage People once, load it to both the target HCM AND a long-term archive in the same run — eliminating a second extract for retention purposes.
For Oracle Fusion HCM targets: HDL (HCM Data Loader) bundles — Worker.dat, WorkRelationship.dat, WorkTerms.dat, Assignment.dat, Salary.dat, Element.dat — validated against the current Fusion 26x release schema. For Workday: EIB CSV/XML files compliant with the standard Core Connector templates. For SuccessFactors: HCI-compatible CSV with required headers. For long-term archive: Parquet partitioned by year/month/object, with embedded schema, plus a JSON Schema sidecar for tooling. All formats are validated locally before submission, so errors surface in seconds rather than hours into a failed load job.
Every record extracted from Sage People is hashed at source using a stable content hash (excluding system audit fields like LastModifiedDate). Every record loaded into Fusion is re-hashed post-load and compared. The reconciliation engine compares object counts (Workers, Assignments, Salaries), sum totals (active headcount, total salary, total leave balance hours), and content hashes per object, per business unit, per pay group. Any record that fails Fusion HDL validation is captured in an error report with the exact field-level reason. The output is a signed, timestamped reconciliation pack: Sage People active headcount vs Fusion active headcount to the person, total annualised salary to the cent, leave balance hours to the minute.
Yes. After the initial bulk load, Syntra ETL captures Sage People deltas via SystemModstamp watermarks on each object (or optionally via Salesforce Platform Events for high-velocity objects like Leave_Request__c) and replays them into Fusion through HCM REST APIs. This supports the standard parallel-run pattern: Sage People continues taking production traffic for 1–2 pay cycles while Fusion is validated to the cent. Once HR, payroll, and (in the UK) HMRC RTI reconciliation pass, traffic cuts to Fusion and Sage People moves to archive-only mode. The Salesforce org licences can then be reduced to a read-only count or retired entirely.
30-minute call. Walk through your Sage People org, custom object profile, historical depth, UK payroll integration, and target HCM — leave with a concrete data-migration plan.