Oracle Fusion HCM Tutorials – HDL Templates & SQL

Wednesday, 17 June 2026

Oracle HCM Data Loader (HDL) – Load Multiple Assignments for a Worker in Oracle Fusion HCM

Oracle HDL Multiple Assignment Load for Worker

Organizations often require employees to perform multiple jobs simultaneously. Oracle Fusion HCM supports Multiple Assignments, allowing a worker to hold more than one active assignment within the same legal employer or across different business functions.

Using HCM Data Loader (HDL), organizations can efficiently load primary and secondary assignments during implementation, mergers, acquisitions, or workforce restructuring projects.



🔹 What is Multiple Assignment?

A Multiple Assignment worker has:

  • One Person Record
  • One Work Relationship
  • Multiple Work Terms
  • Multiple Assignments

Example:

EmployeeAssignment
Adam Baro                HR Analyst (Primary)
Adam Baro                Project Coordinator (Secondary)

The employee receives separate assignment records while maintaining a single worker profile.


🔹 Business Scenario

Vision Corporation hires Adam Baro as a full-time employee.

Primary Assignment

  • HR Analyst
  • Effective Date: 01-Jan-2018
  • Primary Assignment = Yes

Secondary Assignment

  • Project Coordinator
  • Effective Date: 01-May-2021
  • Primary Assignment = No

Both assignments exist under the same work relationship.


🔹 HDL Components Used

The HDL file contains the following business objects:

HDL ComponentPurpose
WorkerCreates person record
PersonNameWorker name details
PersonNationalIdentifierSSN/National ID
WorkRelationshipEmployment relationship
WorkTermsTerms of employment
AssignmentWorker assignments

🔹 Multiple Assignment HDL Structure

Worker
   |
   +-- PersonName
   |
   +-- PersonNationalIdentifier
   |
   +-- WorkRelationship
            |
            +-- WorkTerms 1
            |      |
            |      +-- Assignment 1 (Primary)
            |
            +-- WorkTerms 2
                   |
                   +-- Assignment 2 (Secondary)


🔹 HDL Sample 

Worker

METADATA|Worker|SourceSystemOwner|SourceSystemId|EffectiveStartDate|EffectiveEndDate
|PersonNumber|ActionCode|StartDate|DateOfBirth MERGE|Worker|XXTEST|XXTEST_PER1|2018/01/01|4712/12/31|XXTEST1|HIRE|2018/01/01
|1975/01/01

Person Name

METADATA|PersonName|SourceSystemOwner|SourceSystemId|PersonId(SourceSystemId)
|EffectiveStartDate|EffectiveEndDate|LegislationCode|NameType|FirstName
|MiddleNames|LastName|Title MERGE|PersonName|XXTEST|XXTEST_PERNAME1|XXTEST_PER1|2018/01/01|4712/12/31|US
|GLOBAL|Adam||Baro|MR.

National Identifier

METADATA|PersonNationalIdentifier|SourceSystemOwner|SourceSystemId
|PersonId(SourceSystemId)|LegislationCode|IssueDate|ExpirationDate
|NationalIdentifierType|NationalIdentifierNumber|PrimaryFlag MERGE|PersonNationalIdentifier|XXTEST|XXTEST_NID1|XXTEST_PER1|US||
|SSN|456-23-4167|Y

Work Relationship

METADATA|WorkRelationship|SourceSystemOwner|SourceSystemId|PersonId(SourceSystemId)
|LegalEmployerName|DateStart|EnterpriseSeniorityDate|LegalEmployerSeniorityDate
|ActualTerminationDate|Comments|LastWorkingDate|NotifiedTerminationDate
|PrimaryFlag|ProjectedTerminationDate|RehireAuthorizerPersonId
|RehireAuthorizor|RehireReason|WorkerNumber|WorkerType|OnMilitaryServiceFlag
|RehireRecommendationFlag MERGE|WorkRelationship|XXTEST|XXTEST_PDSERVICE1|XXTEST_PER1|US1 Legal Entity
|2018/01/01|||||||Y|||||XXTEST1|E|N|Y

Primary WorkTerms

METADATA|WorkTerms|ActionCode|SourceSystemOwner|SourceSystemId|EffectiveStartDate
|EffectiveEndDate|EffectiveSequence|EffectiveLatestChange|AssignmentName
|AssignmentNumber|AssignmentStatusTypeCode|AssignmentType|BusinessUnitShortCode
|PositionOverrideFlag|PrimaryWorkTermsFlag|PeriodOfServiceId(SourceSystemId)
|PersonId(SourceSystemId)|LegalEmployerName|SystemPersonType MERGE|WorkTerms|HIRE|XXTEST|XXTEST_WRKTERM1|2018/01/01|4712/12/31|1|Y|
|XXTEST_WRKTERM1|ACTIVE_PROCESS|ET|US1 Business Unit|Y|Y|XXTEST_PDSERVICE1
|XXTEST_PER1|US1 Legal Entity|EMP

Secondary WorkTerms

MERGE|WorkTerms|HIRE|XXTEST|XXTEST_WRKTERM2|2021/05/01|4712/12/31|2|Y|
|XXTEST_WRKTERM2|ACTIVE_PROCESS|ET|US1 Business Unit|Y|N|XXTEST_PDSERVICE1
|XXTEST_PER1|US1 Legal Entity|EMP

Primary Assignment

METADATA|Assignment|ActionCode|SourceSystemOwner|SourceSystemId|EffectiveStartDate
|EffectiveEndDate|EffectiveSequence|EffectiveLatestChange|AssignmentName
|AssignmentNumber|AssignmentStatusTypeCode|AssignmentType|BusinessUnitShortCode
|PositionOverrideFlag|PrimaryAssignmentFlag|PrimaryFlag|SystemPersonType
|LegalEmployerName|JobId(SourceSystemId)|LocationId(SourceSystemId)
|OrganizationId(SourceSystemId)|PositionId(SourceSystemId)|GradeId(SourceSystemId)
|PeriodOfServiceId(SourceSystemId)|PersonId(SourceSystemId)|PersonTypeCode
|ManagerFlag|LabourUnionMemberFlag|WorkTermsAssignmentId(SourceSystemId)
|AssignmentCategory|Frequency|HourlySalariedCode|NormalHours|NoticePeriod
|ProbationPeriod|ProbationUnit|ReasonCode MERGE|Assignment|HIRE|XXTEST|XXTEST_ASSIGN1|2018/01/01|4712/12/31|1|Y
|E-XXTEST1|XXTEST_ASSIGN1|ACTIVE_PROCESS|E|US1 Business Unit|Y|Y|Y|EMP
|US1 Legal Entity|XXTEST_JOB1|XXTEST_LOC65XXTEST_DEPT1||XXTEST_GRADE01
|XXTEST_PDSERVICE1|XXTEST_PER1|Employee|Y|N|XXTEST_WRKTERM1|FR|W|S|40|0|||NEWHIRE

Secondary Assignment

MERGE|Assignment|HIRE|XXTEST|XXTEST_ASSIGN2|2021/05/01|4712/12/31|2|Y
|E-XXTEST2|XXTEST_ASSIGN2|ACTIVE_PROCESS|E|US1 Business Unit|Y|N|N|EMP
|US1 Legal Entity|XXTEST_JOB1|XXTEST_LOC65XXTEST_DEPT1||XXTEST_GRADE01
|XXTEST_PDSERVICE1|XXTEST_PER1|Employee|Y|N|XXTEST_WRKTERM2|FR|W|S|40|0|
||NEWHIRE

🔹 Understanding Primary Flags

FieldPrimary AssignmentSecondary Assignment
PrimaryAssignmentFlagYN
PrimaryFlagYN
PrimaryWorkTermsFlagYN

Only one assignment can be primary.


🔹 Common Use Cases

Multiple Job Roles

Employee works as:

  • HR Analyst
  • Payroll Specialist

Project-Based Assignment

Employee receives temporary assignment on project.

Academic Institutions

Faculty member also serves as:

  • Professor
  • Department Coordinator

🔹 HDL Load Process

Worker HDL Process



🔹 Validation Checklist

Before Loading

✔ Worker does not already exist

✔ Legal Employer exists

✔ Business Unit exists

✔ Department exists

✔ Job exists

✔ Grade exists

✔ Location exists

✔ Source Keys are unique

✔ Work Terms references are correct


After Loading

✔ Worker created successfully

✔ Work Relationship created

✔ Primary Work Terms created

✔ Secondary Work Terms created

✔ Primary Assignment visible

✔ Secondary Assignment visible

✔ Assignment flags validated


🔹 Common HDL Errors

Q1 - Assignment Not Created

Cause: Incorrect WorkTermsAssignmentId

Resolution: Verify Work Terms source key.


Q2 - Multiple Primary Assignments

Cause: PrimaryAssignmentFlag = Y on multiple assignments

Resolution:Only one assignment should be primary.


Q3 - Invalid Department

Cause: Department Source Key Missing

Resolution: Load department before assignment.


Q4 - Invalid Job

Cause: Job not available

Resolution: Load workforce structures first.


🔹 Best Practices

Load Workforce Structures First

  • Jobs
  • Grades
  • Locations
  • Departments

Maintain Effective Dating

Ensure assignment dates follow business requirements.

Validate Primary Assignment Logic

Only one primary assignment should exist.


🔹 Frequently Asked Questions (FAQ)

What is a multiple assignment worker in Oracle Fusion HCM?

A multiple assignment worker is an employee who holds more than one active assignment under the same work relationship.


Can a worker have multiple work terms?

Yes. Oracle Fusion supports multiple work terms associated with a single work relationship.


Can both assignments be primary?

No. Only one assignment can have PrimaryAssignmentFlag = Y.


Can secondary assignments have different departments?

Yes. Secondary assignments can belong to different departments, jobs, grades, or locations.


Can HDL load multiple assignments in one file?

Yes. Multiple Work Terms and Assignment records can be loaded in a single HDL file.


What assignment type is used for employees?

Employee assignments typically use:

AssignmentType = E


Can payroll be attached to multiple assignments?

Yes, depending on payroll and enterprise configuration.

Saturday, 21 March 2026

🧾 Element Eligibility Costing in Oracle HCM Using HDL (Complete Guide with Example)

Element Eligibility Costing in Oracle HCM | HDL Step-by-Step Guide

📌 Overview

Element Eligibility Costing in Oracle HCM Cloud allows organizations to define how payroll costs are distributed to accounting segments at the element level.

Using HCM Data Loader (HDL), you can:

  • Assign costing to element eligibility
  • Define cost and offset accounts
  • Distribute costs across earning elements
  • Transfer costing to General Ledger

This is critical when payroll results impact:
✔ Net Pay
✔ Employer Liabilities
✔ Financial Reporting


🎯 When to Use Element Eligibility Costing?

Use this method when:

  • Costs must be controlled at element level
  • You want distributed costing
  • Employer liabilities need tracking (e.g., pension, insurance)
  • Finance requires GL integration

⚙️ Prerequisites

Before loading costing via HDL, ensure:

  • ✔ Cost Allocation Key Flexfield is configured
  • ✔ Element eligibility is created
  • ✔ Distribution Group is defined
  • ✔ Earning elements (Regular, Overtime) exist
  • ✔ Payroll setup is complete

🏗️ Costing Architecture Explained

🔹 Key Components

  • CostInfoV3 → Defines costing behavior
  • CostAllocationV3 → Creates costing structure
  • CostAllocationAccountV3 → Defines accounts

📊 Example Scenario 

A company wants to:

  • Cost Employer Pension Expense
  • Distribute cost across Pensionable Wages
  • Send results to General Ledger

📁 HDL File 1: Cost Info

METADATA|CostInfoV3|EffectiveEndDate|EffectiveStartDate|SourceType
|ElementEligibilityName|ElementCode|LinkInputName|LegislativeDataGroupName
|CostableType|CostedFlag|TransferToGlFlag
MERGE|CostInfoV3|4712/12/31|2020/01/01|EL|EMP_PENSION_EXP_ELIG|EMP_PENSION_EXP
||CORP_US_LDG|F||N
MERGE|CostInfoV3|4712/12/31|2020/01/01|LIV|EMP_PENSION_EXP_ELIG|EMP_PENSION_EXP
|Pay Value|CORP_US_LDG||Y|Y

📁 HDL File 2: Cost Allocation

METADATA|CostAllocationV3|EffectiveEndDate|EffectiveStartDate|SourceType
|ElementEligibilityName|ElementCode|LegislativeDataGroupName
MERGE|CostAllocationV3|4712/12/31|2020/01/01|EL|EMP_PENSION_EXP_ELIG
|EMP_PENSION_EXP|CORP_US_LDG

📁 HDL File 3: Cost Allocation Accounts

🔹 Cost Account (Expense)

METADATA|CostAllocationAccountV3|SourceType|ElementEligibilityName|
ElementCode|LegislativeDataGroupName|EffectiveDate|SourceSubType|Proportion
|SubTypeSequence|Segment3|Segment4|Segment5
MERGE|CostAllocationAccountV3|EL|EMP_PENSION_EXP_ELIG|EMP_PENSION_EXP
|CORP_US_LDG|2020/01/01|COST|1|1|6000|1100|2000

🔹 Offset Account (Liability)

METADATA|CostAllocationAccountV3|SourceType|ElementEligibilityName|
ElementCode|LegislativeDataGroupName|EffectiveDate|SourceSubType|Proportion
|SubTypeSequence|ConcatenatedSegment
MERGE|CostAllocationAccountV3|EL|EMP_PENSION_EXP_ELIG|EMP_PENSION_EXP|
CORP_US_LDG|2020/01/01|BAL|1|1|01.100.2150

🔄 Costing Flow (Simplified)

Costing flow in Oracle HCM
Costing flow in Oracle HCM



🔗 Internal Links 


❗ Key Notes

  • Higher-level costing overrides element-level values
  • Distributed costing generates multiple costing lines
  • Always validate segments before loading
  • Costed input value (e.g., Pay Value) is mandatory


❓ FAQ Section

1. What is element eligibility costing?

It defines how payroll costs are assigned at the element level.

2. What is distributed costing?

It spreads costs across multiple elements using a distribution group.

3. Can costing be overridden?

Yes, higher-level costing overrides lower levels.

4. What is CostInfoV3?

It defines costing behavior and flags like costing and GL transfer.

5. Is Pay Value required?

Yes, it is the most common costed input value.


💬 Feedback Section (Add in Blog)

Did this guide help you?
👍 Yes | 👎 No

💡 Suggestions:

  • More HDL examples
  • Video tutorial
  • Real-time project scenarios


🧑‍💼 Oracle HCM: Load Contingent Worker Using HDL (Complete Guide with Example)

 

Oracle Worker.dat HDL Template with Example | Oracle Fusion HCM Guide

📌 Overview

In Oracle HCM Cloud, contingent workers (contractors, freelancers, temporary staff) are managed as non-payroll resources. These workers are:

  • Identified with “C” (Contingent Worker type)
  • Not processed through payroll
  • Can submit expenses
  • Can be converted into employees

Using HCM Data Loader (HDL), you can efficiently load contingent worker data in bulk.


🎯 When to Use Contingent Worker HDL Load?

Use HDL when:

  • Migrating contractor data from legacy systems
  • Hiring bulk contingent workforce
  • Integrating third-party vendor workers
  • Managing project-based workforce

🎯 Employee Vs Contingent Worker Comparison

Employee Vs Contingent Worer



🔹 Prerequisites 

Before you start:

  1. Work structure must be loaded

    Click here for a sample Work Structure

  2. You must have a Source Key defined. In earlier blogs, we created “XXTEST” as our source key.

  3. Download the object templates from your instance:

Navigator → My Client Group → Data Exchange → View Business Objects

🎯 When to Use Contingent Worker HDL Load?🧩 Key HDL Components for Contingent Worker

To successfully load a contingent worker, you must include:

ComponentPurpose
WorkerCore person record
PersonNameWorker name details
PersonEmailEmail information
PersonNationalIdentifierID (SSN, PAN, etc.)
PersonLegislativeDataGender, marital status
WorkRelationshipEmployment relationship
WorkTermsTerms of work
AssignmentJob assignment

📄 Sample HDL File For Contingent Worker

Below is a ready-to-use HDL template for loading a contingent worker:

METADATA|Worker|SourceSystemOwner|SourceSystemId|EffectiveStartDate
|EffectiveEndDate|PersonNumber|ActionCode|StartDate|DateOfBirth MERGE|Worker|XXTEST|XXTEST_PER2|2018/01/01|4712/12/31|XXTEST2|HIRE
|2018/01/01|1975/01/01

METADATA|PersonName|SourceSystemOwner|SourceSystemId|PersonId(SourceSystemId)
|EffectiveStartDate|EffectiveEndDate|LegislationCode|NameType|FirstName
|MiddleNames|LastName|Title
MERGE|PersonName|XXTEST|XXTEST_PERNAME2|XXTEST_PER2|2018/01/01
|4712/12/31|US|GLOBAL|AdamCWK||Baro|MR.

METADATA|PersonNationalIdentifier|SourceSystemOwner|SourceSystemId
|PersonId(SourceSystemId)|LegislationCode|IssueDate|ExpirationDate
|NationalIdentifierType|NationalIdentifierNumber|PrimaryFlag MERGE|PersonNationalIdentifier|XXTEST|XXTEST_NID2|XXTEST_PER2|US
|||SSN|456-24-4167|Y

METADATA|PersonEmail|SourceSystemOwner|SourceSystemId|
PersonId(SourceSystemId)|DateFrom|DateTo|EmailType|EmailAddress
|PrimaryFlag MERGE|PersonEmail|XXTEST|XXTEST_EMAIL2|XXTEST_PER2|2018/01/01|
4712/12/31|W1|AdamCWK.baro@ha.com|Y
METADATA|PersonLegislativeData|SourceSystemOwner|SourceSystemId
|EffectiveStartDate|EffectiveEndDate|PersonId(SourceSystemId)|
LegislationCode|MaritalStatus|MaritalStatusDate|Sex MERGE|PersonLegislativeData|XXTEST|XXTEST_LEG2|2018/01/01|4712/12/31
|XXTEST_PER2|US|M|1998/05/12|M

METADATA|WorkRelationship|SourceSystemOwner|SourceSystemId
|PersonId(SourceSystemId)|LegalEmployerName|DateStart|
EnterpriseSeniorityDate|LegalEmployerSeniorityDate|ActualTerminationDate
|Comments|LastWorkingDate|NotifiedTerminationDate|PrimaryFlag|
ProjectedTerminationDate|RehireAuthorizerPersonId|RehireAuthorizor
|RehireReason|WorkerNumber|WorkerType|OnMilitaryServiceFlag|
RehireRecommendationFlag MERGE|WorkRelationship|XXTEST|XXTEST_PDSERVICE2|XXTEST_PER2|
US1 Legal Entity|2018/01/01|||||||Y|||||XXTEST2|C|N|Y
METADATA|WorkTerms|ActionCode|SourceSystemOwner|SourceSystemId
|EffectiveStartDate|EffectiveEndDate|EffectiveSequence|
EffectiveLatestChange|AssignmentName|AssignmentNumber|
AssignmentStatusTypeCode|AssignmentType|BusinessUnitShortCode|
PositionOverrideFlag|PrimaryWorkTermsFlag|PeriodOfServiceId(SourceSystemId)
|PersonId(SourceSystemId)|LegalEmployerName|SystemPersonType|
ProposedUserPersonType
MERGE|WorkTerms|HIRE|XXTEST|XXTEST_WRKTERM2|2018/01/01|4712/12/31
|1|Y||XXTEST_WRKTERM2|ACTIVE_PROCESS|CT|US1 Business Unit|Y|Y|
XXTEST_PDSERVICE2|XXTEST_PER2|US1 Legal Entity||Contingent Worker

METADATA|Assignment|ActionCode|SourceSystemOwner|SourceSystemId
|EffectiveStartDate|EffectiveEndDate|EffectiveSequence|
EffectiveLatestChange|AssignmentName|AssignmentNumber|
AssignmentStatusTypeCode|AssignmentType|BusinessUnitShortCode|
PositionOverrideFlag|PrimaryAssignmentFlag|PrimaryFlag|
SystemPersonType|LegalEmployerName|JobId(SourceSystemId)|
LocationCode|OrganizationId(SourceSystemId)|PositionId(SourceSystemId)
|GradeId(SourceSystemId)|PeriodOfServiceId(SourceSystemId)|
PersonId(SourceSystemId)|PersonTypeCode|ManagerFlag|
LabourUnionMemberFlag|WorkTermsAssignmentId(SourceSystemId)|
AssignmentCategory|Frequency|HourlySalariedCode|NormalHours|NoticePeriod
|ProbationPeriod|ProbationUnit|ReasonCode|WorkerType
MERGE|Assignment|HIRE|XXTEST|XXTEST_ASSIGN2|2018/01/01|
4712/12/31|1|Y|E-XXTEST2|XXTEST_ASSIGN2|ACTIVE_PROCESS|C|
US1 Business Unit|Y|Y|Y|CWK|US1 Legal Entity|XXTEST_JOB1|ComUSHQ|
XXTEST_DEPT1||XXTEST_GRADE01|XXTEST_PDSERVICE1|XXTEST_PER2||Y|N
|XXTEST_WRKTERM2|FR|W|S|40|0|||NEWHIRE|C



🔹 Steps to Load Worker.dat in Oracle Fusion

  1. Save all HDL objects as Worker.dat

  2. Create a zip file containing Worker.dat and all other HDL files

  3. Navigate to:

Navigator → My Client Group → Data Exchange → Import and LoadImport

  1. Upload the zip file

  2. Refresh page to verify load status

  3. Once successfully loaded, confirm work structure is updated correctly

🎥 Step-by-step video guide is available here


⚠️ Important Considerations

  • WorkerType must be “C” (Contingent Worker)
  • AssignmentType must be “C” or “CT”
  • No payroll setup required
  • Ensure Legal Employer & Business Unit exist
  • Use unique SourceSystemId

🔗 Internal Links 

👉 Payroll Related Blogs:

👉 HDL Guides:


❓ FAQ Section 

1. What is a contingent worker in Oracle HCM?

A contingent worker is a non-payroll worker such as a contractor or freelancer managed in Oracle HCM.


2. What is WorkerType “C” in HDL?

WorkerType “C” represents a Contingent Worker.


3. Can contingent workers be converted to employees?

Yes, Oracle HCM provides conversion flows to convert contingent workers into employees.


4. Do contingent workers run through payroll?

No, contingent workers are non-payroll resources.


5. What is AssignmentType for contingent workers?

AssignmentType is usually C (Contingent) or CT (Contingent Terms).


6. Is WorkTerms mandatory for contingent workers?

Yes, WorkTerms define the structure of assignment and must be included.


7. Can we load contingent workers using HSDL?

Yes, but HDL is preferred for bulk and complex loads.


8. What happens if WorkerType is incorrect?

The load will fail or create incorrect worker classification.

Thursday, 5 March 2026

Oracle Payroll Balance Adjustments Using HDL (HCM Data Loader) – Complete Guide


Oracle HCM Payroll Balance Adjustments Using HDL – Complete Guide

Overview

In Oracle Fusion HCM Payroll, organizations sometimes need to adjust payroll balances after payroll has already run. This commonly happens during system migrations, acquisitions, third-party payments, or retroactive tax corrections.

Using HCM Data Loader (HDL), payroll administrators can adjust payroll balances for a worker as of a specific date. The adjustment process creates a run result that updates one or more balances depending on the element input values used in the adjustment.

During balance adjustment, administrators can decide:

  • Whether the adjustment results should be costed

  • Whether the adjustment should be paid to the employee

  • Whether the adjustment should be included in the next pre-payment process

When payment is enabled, the system assigns the adjustment results to the appropriate payment method configured for the worker.


Common Scenarios for Payroll Balance Adjustments

1. Corrections After Balance Initialization

During payroll migration or acquisitions, employees may already have earnings and taxes processed in the legacy system.

When those balances are initialized in Oracle Cloud Payroll, mistakes can occur.

Example Scenario

A company acquires employees mid-year.


Worker NameIssueAdjustment Required
Alex JohnsonFederal tax withheld initialized 200 lessIncrease balance by 200
Maria PatelMissing balance initializationLoad adjustment balances

The payroll manager loads balance adjustments using an element that feeds the required balance.


2. Third-Party Gross-to-Net Payroll Reporting

Organizations sometimes outsource payments such as:

  • Disability benefits

  • Stock option payouts

  • Relocation allowances

Even though the third-party pays employees, the employer still needs to report wages and taxes in payroll balances.

Example Scenario

Worker Ravi Sharma receives disability payments handled by a third-party provider.

ComponentAmount
Gross Disability Payment6,000
Federal Tax Withheld1,200
Social Security450
Medicare250
Net Payment4,100

The payroll administrator loads these amounts as balance adjustments so reporting remains accurate.


3. Retroactive Changes Not Supported by RetroPay

Sometimes payroll changes occur after payroll processing, but RetroPay does not support the impacted element.

Example: Tax deductions.

Example Scenario

Worker David Miller was taxed incorrectly.

LocationTax Withheld
California600
Texas (correct location)250

Payroll manager performs balance adjustments:

  • Add 250 Texas state tax

  • Reverse 600 California tax


4. Zeroing Out Balances for Terminated Employees

Balance adjustments can also clear arrears balances for terminated workers.

Example Scenario

Worker James Carter terminated on 30-Sep-2025.

Outstanding deductions:

Deduction TypeBalance
Car Loan2000
Education Loan750

Payroll administrator loads:

Car Loan Adjustment = -2000
Education Loan Adjustment = -750

This resets inception-to-date arrears balances to zero.


Prerequisites Before Loading Balance Adjustments

Before performing adjustments, verify the following:

  • Element eligibility links exist

  • Required balances are identified

  • Balance dimensions are confirmed

  • Payroll and consolidation group are correct

  • Balance date column is populated if required


Steps to Adjust Payroll Balances Using HDL

Step 1: Identify Required Balances

Determine which payroll balances require adjustment.

Step 2: Prepare HDL Batch Header File

Example data:

METADATA|BalanceAdjustmentHeader|LegislativeDataGroupName|BatchName MERGE|BalanceAdjustmentHeader|US Legislative Data Group|Payroll_Adjustment_Batch METADATA|BalanceAdjustmentGroup|LegislativeDataGroupName|BatchName
|EffectiveDate|PayrollName|ConsolidationSetName|PrepayFlag
|BalanceAdjCostFlag
MERGE|BalanceAdjustmentGroup|US Legislative Data Group|
Payroll_Adjustment_Batch|2025/03/01|Monthly Payroll|US Consolidation
|N|N

Step 3: Prepare Balance Adjustment Lines

Example worker data:

METADATA|BalanceAdjustmentLine|LegislativeDataGroupName|BatchName
|PayrollName|ConsolidationSetName|EffectiveDate|BatchLineSequence
|AssignmentNumber|ElementName|TaxReportingUnitName
MERGE|BalanceAdjustmentLine|US Legislative Data Group|
Payroll_Adjustment_Batch|Monthly Payroll|US Consolidation|
2025/03/01|1|ETXXTEST1|Federal Income Tax Adjustment|
US Tax Reporting Unit MERGE|BalanceAdjustmentLine|US Legislative Data Group|
Payroll_Adjustment_Batch|Monthly Payroll|US Consolidation|
2025/03/01|2|ETXXTEST2|Federal Income Tax Adjustment|
US Tax Reporting Unit


Step 4: Prepare Balance Adjustment Values

METADATA|BalanceAdjustmentValue|LegislativeDataGroupName|BatchName
|PayrollName|ConsolidationSetName|EffectiveDate|BatchLineSequence
|InputValueName|EntryValue|ElementName
MERGE|BalanceAdjustmentValue|US Legislative Data Group
|Payroll_Adjustment_Batch|Monthly Payroll|US Consolidation|
2025/03/01|1|Tax Calculated|200|Federal Income Tax Adjustment MERGE|BalanceAdjustmentValue|US Legislative Data Group|
Payroll_Adjustment_Batch|Monthly Payroll|US Consolidation|
2025/03/01|2|Tax Calculated|150|Federal Income Tax Adjustment

Step 5: Upload HDL Files

Upload the files through HCM Data Loader → Import and Load Data.


Step 6: Run Payroll Process

Navigate to:

Payroll Calculation Work Area
→ Run Process
→ Adjust Multiple Balances

Provide the batch name used in HDL.


Step 7: Validate Results

Verify results in:

  • Person Process Results

  • Payroll Process Results

  • Balance Results


Balance Adjustment Components

ComponentDescription
Balance Adjustment HeaderBatch header for balance adjustments
Balance Adjustment GroupDefines payroll and consolidation group
Balance Adjustment LineWorker-level adjustment entries
Balance Adjustment ValueActual balance values loaded

Internal Links (For Your Blog)

Use internal links to improve SEO:


FAQ Section

1. What is Payroll Balance Adjustment in Oracle HCM?

Payroll Balance Adjustment in Oracle HCM allows administrators to correct payroll balances for employees using HCM Data Loader (HDL) without rerunning payroll. The adjustment creates run results that update payroll balances such as tax withheld, earnings, or deductions.


2. When should Payroll Balance Adjustments be used?

Payroll Balance Adjustments should be used when:

  • Balance initialization was incorrect

  • Employees were missed during payroll migration

  • Third-party payments need to be recorded

  • RetroPay does not support the element

  • Terminated employees require arrears balance cleanup


3. Which HDL objects are used for balance adjustments?

The following HDL objects are used:

  • BalanceAdjustmentHeader

  • BalanceAdjustmentGroup

  • BalanceAdjustmentLine

  • BalanceAdjustmentValue

These objects allow bulk payroll balance corrections.


4. Can payroll balances be adjusted after payroll is processed?

Yes. Payroll balances can be adjusted after payroll is processed using Balance Adjustment HDL files and the Adjust Multiple Balances process.


5. What is the Adjust Multiple Balances process?

The Adjust Multiple Balances process creates payroll element entries based on HDL batch data and adjusts payroll balances accordingly.


6. Can payroll balance adjustments be costed?

Yes. Payroll balance adjustments can optionally be included in payroll costing. If costing overrides are required, cost allocation HDL files must be loaded.


7. Can balance adjustments be included in employee payments?

Yes. If the PrepayFlag is enabled, balance adjustment results can be included in the next Pre-Payments process.


8. How do you fix incorrect tax withholding using balance adjustments?

Payroll managers can create balance adjustment records to:

  • Increase the correct tax balance

  • Negate incorrect run results

  • Reassign tax amounts to the correct jurisdiction


9. Can balance adjustments be used for third-party payments?

Yes. Balance adjustments are commonly used when third-party providers calculate employee earnings and taxes but the employer must report those balances in Oracle Payroll.


10. What happens if a balance adjustment is incorrect?

If an adjustment is incorrect, administrators can:

  • Roll back the batch

  • Correct HDL files

  • Reload balance adjustments

Oracle HCM Data Loader (HDL) – Load Multiple Assignments for a Worker in Oracle Fusion HCM

Oracle HDL Multiple Assignment Load for Worker Organizations often require employees to perform multiple jobs simultaneously. Oracle Fusion ...