The complete field-level mapping for sage people to oracle fusion mapping projects. Worker__c → HcmWorker. Employment_Record__c → Assignment. Salary__c → Salary. Leave_Request__c → AbsenceCase. Plus every UK statutory field.
Get these four right and the rest of the migration falls into place. Get any one of them wrong and the HDL load fails on the first row.
Sage People's data model is a Salesforce custom-object schema. Oracle Fusion HCM's data model is HDL business objects loaded against an effective-dated, reference-data-set-driven structure. The bridge between them is the sage people to oracle fusion mapping — a precise translation of every field that matters, in the order the load expects, with the lookup translations needed to convert Sage People values into Fusion-pre-configured codes.
Four object families do 80% of the work and account for 95% of the load risk: Worker__c → HcmWorker, Employment_Record__c → Assignment, Salary__c → Salary, Leave_Request__c → AbsenceCase. Each one has structural differences worth understanding before the first extract runs — Worker__c becomes two HDL files (Worker + WorkRelationship), Employment_Record__c is a flat-start/end-date pair that becomes strictly effective-dated, Salary__c with nested pay components fans out into multiple HDL Element entries, Leave_Request__c splits across AbsenceCase and AbsenceEntries.
Beyond these four, the mapping covers Position__c → HDL Position, Department / Location / Cost Centre → HDL reference objects with hierarchy preservation, Performance_Review__c → Fusion Talent objects, and the UK-specific statutory field set (NI number, tax code, P11D benefits, auto-enrolment pension flags). Every mapping in this document is shipped pre-built in Syntra ETL — what you're seeing is the documentation of what the tool already does.
Each family has its own structural shape and its own gotchas. The Syntra ETL shipped mapping handles them all out of the box.
Worker__c → HDL Worker (LastName, FirstName, DateOfBirth, Gender, NationalIdentifier). WorkRelationship for legal-employer link. Person_Address__c → HDL PersonAddress. Custom person fields → Person EIT.
Employment_Record__c → HDL Assignment (PositionCode, DepartmentName, LocationCode, SupervisorPersonNumber). Position__c → HDL Position. Job__c → HDL Job. Grade__c → HDL Grade.
Salary__c → HDL Salary. Bonus__c → HDL Element entries (one-time). Allowance__c → HDL Element entries (recurring). Pay_Component__c → HDL Element definitions.
Leave_Request__c → HDL AbsenceCase + AbsenceEntries. Absence_Policy__c → HDL AbsencePlan. UK statutory leave (SSP, SMP, SPP) maps to Fusion's UK-specific absence types.
Department → HDL Department + DepartmentTree (parent-child preserved). Location → HDL Location. Cost_Centre__c → HDL CostAllocation reference data.
NI Number → HDL Worker.NationalIdentifier. Tax_Code__c → HDL Element entry for PAYE. P11D_Value__c → HDL Element for taxable benefits. Pension scheme flags → AE config.
Mapping isn't a one-time exercise — it's an inventory, a design step, a build step, and an evidence artifact. Here's the sequence.
Salesforce Metadata API reads the live Sage People org schema: every standard object, every custom field, every custom object. Output: complete field inventory cross-referenced against the standard shipped mapping.
Standard mapping applied; custom fields and custom objects flagged for design decision (native attribute / EIT / retire / archive-only). Output: gap list with four-option recommendation per field.
HR, payroll, audit, and (for UK) HMRC compliance walk the gap list. Each custom field's final mapping decision signed off. UK statutory mapping section signed off separately.
Decisions encoded into Syntra ETL configuration (no code changes). Pipeline now has the complete mapping spec. Test extract runs against pilot BU to validate.
Generated HDL bundles validated locally against current Fusion 26x HDL schema. Mapping errors (mandatory fields missing, invalid lookups, format violations) caught and corrected before any Fusion load.
The full sage people to oracle fusion mapping spec is emitted as a signed PDF + machine-readable JSON. This is what auditors review post-migration to confirm every Sage People field landed where it was supposed to.
Mapping is precise translation — not magical transformation. Knowing what mapping is NOT keeps scope honest.
Mapping translates fields one-to-one. If Sage People holds a worker with no DateOfBirth, no mapping invents one. Data cleansing is a separate phase.
If you have 47 Departments in Sage People and want 12 in Fusion, that consolidation is a design decision the mapping just reflects.
Mapping is data-only. Apex triggers, Flow automations, Visualforce pages are handled separately by the customization inventory.
Mapping respects Sage People's existing effective dates. If they're wrong in source, they're wrong in target. Date hygiene is a pre-mapping activity.
Mapping covers data fields. Fusion Payroll for UK still needs its own configuration (calendar, calc rules, RTI submission) — handled separately.
Even with a pre-built mapping, your auditors will want to walk every UK statutory field decision. Plan the calendar time for that conversation.
Sage people to oracle fusion mapping is the per-field translation table that determines how each Sage People custom-object field becomes an Oracle Fusion HCM HDL business object attribute. Worker__c.Name → HDL Worker.LastName + FirstName decomposition. Employment_Record__c.Effective_Date__c → HDL Assignment.EffectiveStartDate. Salary__c.Annual_Salary__c → HDL Salary.SalaryAmount. Leave_Request__c.Start_Date__c → HDL AbsenceEntries.StartDate. Without an explicit mapping for every field in scope, the migration cannot generate a valid HDL bundle. Syntra ETL ships the mapping for every standard Sage People field pre-built; customer-specific custom fields are added through configuration during the design phase.
Worker__c is the root Sage People object representing a person in the workforce — it carries name, contact, person-type, primary employment reference, and a flag indicating whether the worker is active. HDL HcmWorker (the Worker.dat HDL business object) is the Fusion equivalent — same conceptual role but with Fusion's effective-dated, person/work-relationship-separated model. The mapping decomposes Worker__c into HDL Worker (the person attributes) and HDL WorkRelationship (the relationship to the legal employer). Sage People's single Worker__c becomes two HDL files when loaded, with the cross-reference key being the persistent worker identifier carried through both.
Employment_Record__c is the Sage People object that holds the employment relationship: which position, in which department, in which location, on what cost centre, reporting to which manager, on what effective dates. HDL Assignment is the equivalent in Fusion — the assignment record that links a Worker to a job, position, department, location, grade, and pay basis on an effective date. The mapping is mostly direct: Employment_Record__c.Position__c → HDL Assignment.PositionCode; Employment_Record__c.Department__c → HDL Assignment.DepartmentName; Employment_Record__c.Cost_Centre__c → HDL Assignment.DefaultExpenseAccount; Employment_Record__c.Manager__c → HDL Assignment.SupervisorPersonNumber. The two structural differences worth noting: HDL Assignment is strictly effective-dated where Sage People uses start/end pairs, and HDL Assignment requires explicit BU code where Sage People infers it.
Salary__c carries the Sage People salary record: amount, currency, frequency, effective dates, pay components. HDL Salary is the Fusion target: SalaryAmount, SalaryBasis (which determines frequency), DateFrom / DateTo, plus an attached element entries breakdown for pay components. The mapping: Salary__c.Annual_Salary__c → HDL Salary.SalaryAmount; Salary__c.Currency__c → HDL Salary.Currency; Salary__c.Effective_Date__c → HDL Salary.DateFrom; Salary__c.Pay_Frequency__c → HDL Salary.SalaryBasis (with a lookup table that translates Sage People's frequency values into Fusion's pre-configured salary basis codes). Pay components nested on Salary__c (allowances, bonuses, deductions) decompose into separate HDL Element entries linked back to the salary via the worker-assignment-salary key chain.
Leave_Request__c is the Sage People absence record — type of leave, start date, end date, hours, approval status, accrual impact. HDL AbsenceCase (the Fusion absence object) carries the same concept but split across two HDL files: AbsenceCase.dat for the case header and AbsenceEntries.dat for the day-by-day or block-by-block entries. The mapping: Leave_Request__c.Leave_Type__c → HDL AbsenceCase.AbsenceType (with a lookup translating Sage People's absence types into Fusion's pre-configured absence type codes); Leave_Request__c.Start_Date__c → HDL AbsenceEntries.StartDate; Leave_Request__c.End_Date__c → HDL AbsenceEntries.EndDate; Leave_Request__c.Approval_Status__c → HDL AbsenceCase.ApprovalStatus. UK statutory leaves (SSP, SMP, SPP) carry additional fields that map to Fusion's UK-specific absence attributes for HMRC reporting.
Standard Sage People ships with a defined set of custom objects and fields — but every customer extends the model. Custom fields added to Worker__c (e.g., Onboarding_Buddy__c, Visa_Status__c, Internal_Job_Family__c) need an explicit mapping decision: do they go into Fusion as native HCM attributes, as Person Extra Information Types (EIT), as Assignment EIT, or get dropped because Fusion handles the underlying concept natively. Syntra ETL's mapping phase produces a custom-field inventory pulled from the Salesforce Metadata API and walks each one through a four-option decision: native Fusion attribute, EIT, retire, or archive-only. The output is a per-field decision sheet signed off by HR, payroll, and the data owner.
Sage People uses standard reference data inside the Salesforce platform: Department records linked parent-child via custom relationship fields, Location records, Cost_Centre__c records, Position__c records, Job__c records. Fusion's HCM has its own reference data taxonomy: HDL Department, HDL Location, HDL Job, HDL Grade, HDL Position, HDL DepartmentTree (for the hierarchy), each loaded via separate HDL business objects with reference-data set codes determining which BU sees them. The mapping translates Sage People's flat-with-parent-link model into Fusion's explicit hierarchy + reference data set model, preserving every parent-child link and producing the tree-version HDL files Fusion needs to render the org chart correctly post-load.
Yes. Sage People customers in the UK populate fields specific to HMRC RTI, P11D, P45, P60, auto-enrolment pensions, and TPR reporting — National_Insurance_Number__c on Worker__c, Tax_Code__c on Employment_Record__c, Pension_Scheme__c with auto-enrolment flags, P11D benefit value fields on Allowance__c. The sage people to oracle fusion mapping for UK customers includes a dedicated section for these: Worker__c.National_Insurance_Number__c → HDL Worker.NationalIdentifier with type 'NI'; Employment_Record__c.Tax_Code__c → HDL Element entry for UK PAYE configuration; Allowance__c.P11D_Value__c → HDL Element for taxable benefits. These mappings are pre-built and validated against current HMRC tax-year schemas (currently 2026–27).
Book a 30-minute mapping working session. We'll connect to your Sage People sandbox, run the schema inventory, apply the shipped mapping, surface the gap list, and walk you through every custom-field decision — so you see exactly what your mapping spec will look like before you commit.