Oracle Payroll Integration with UKG: Calculation Card vs Element Entry — Understanding the Correct HDL Object
Introduction
When integrating UKG, or any external time system, with Oracle Cloud HCM Payroll, a common design question is:
Should time be loaded as Element Entries, or should we use PayrollTimeCard / PayrollAbsenceRecord HDL objects?
This blog clarifies the relationship between PayrollTimeCard.dat, PayrollAbsenceRecord.dat, ElementEntry.dat, and Calculation Cards, and explains the recommended design approach for Oracle Payroll integrations.
The Core Design Decision
There are two primary integration patterns for third-party time and absence data:
- PayrollTimeCard.dat / PayrollAbsenceRecord.dat — time/absence-driven model
- ElementEntry.dat — payroll-result-driven model
Calculation Cards should not be treated as a separate third option. They are the payroll representation layer where time and absence data may appear after being loaded through the correct business objects.
Key Clarification: Calculation Cards Are the Target Representation
The most important clarification is:
PayrollTimeCard.dat and PayrollAbsenceRecord.dat both populate Calculation Cards, but you should not use CalculationCard.dat directly to load time or absence data.
In other words, Oracle may create or update Calculation Cards as part of the payroll time or absence load process, but the integration should use the purpose-built HDL objects.
What This Means in Practice
- PayrollTimeCard.dat creates or updates Calculation Cards with time entries.
- PayrollAbsenceRecord.dat creates or updates Calculation Entries for absences.
- CalculationCard.dat should not be used for time or absence integration.
How Oracle Designed This
Oracle separates the object you load from where the data appears in payroll.
| HDL Object | Purpose | Where Data Appears |
|---|---|---|
| PayrollTimeCard.dat | Time-card data | Calculation Cards / Calculation Entries |
| PayrollAbsenceRecord.dat | Absence data | Calculation Entries |
| ElementEntry.dat | Payroll-ready inputs | Element Entries |
| CalculationCard.dat | Generic calculation card object | Not recommended for time/absence loading |
Pattern 1: PayrollTimeCard.dat — Recommended for Time
When to Use
Use PayrollTimeCard.dat when UKG is the system of record for approved time, but Oracle Payroll still needs to process the time data.
This approach is useful when Oracle Payroll needs to:
- Calculate overtime
- Apply premiums
- Handle costing
- Apply jurisdiction-specific payroll logic
- Preserve work-date level detail
What Happens
- UKG sends approved time-card data.
- PayrollTimeCard.dat is loaded.
- Oracle validates the time-card elements.
- Oracle creates or updates Calculation Cards.
- Payroll processes the time entries.
Pattern 2: PayrollAbsenceRecord.dat — Recommended for Absences
When to Use
Use AbsenceEntry.dat when UKG or another external system sends approved absence data and you want Oracle Payroll to process absence-related payroll logic.
What Happens
- Absence records are loaded using PayrollAbsenceRecord.dat.
- Oracle creates the related calculation entries.
- Payroll processes the absence-related elements.
Pattern 3: ElementEntry.dat — Payroll-Ready Inputs
When to Use
Use ElementEntry.dat when UKG has already calculated the payroll values and Oracle Payroll only needs to consume the final results.
This may include:
- Regular pay
- Overtime
- Premiums
- Adjustments
- Payroll-ready hours or amounts
This pattern can be simpler, but it places more responsibility on the integration for validation, correction handling, duplicate prevention, and reconciliation.
Why Not Use CalculationCard.dat?
Although PayrollTimeCard.dat and PayrollAbsenceRecord.dat populate Calculation Cards, you should not use CalculationCard.dat directly for time or absence loads.
Using CalculationCard.dat for time or absence can create issues because:
- It bypasses purpose-built validation logic.
- It does not align with Oracle’s recommended payroll data model.
- It can make reconciliation and maintenance more difficult.
The Real Relationship
The correct way to think about this is:
PayrollTimeCard.dat and PayrollAbsenceRecord.dat are calculation-card-based integrations, but they are implemented through specialized business objects, not through CalculationCard.dat.
Benefits of PayrollTimeCard.dat and PayrollAbsenceRecord.dat
1. Data Model Alignment
- Matches Oracle Payroll architecture
- Preserves time and absence granularity
2. Built-In Validation
- Supports element eligibility validation
- Provides structured error handling
3. Better Reconciliation
- Aligns source system data with payroll processing
- Supports audit at a detailed level
Challenges to Plan For
1. Source Key Strategy
A strong source key strategy is required for updates, corrections, and reconciliation.
2. Correction Model
Corrections should generally be made in the source system and re-imported, rather than manually adjusted in payroll.
3. Visibility
- Data appears in Calculation Cards.
- It does not appear in Oracle Time and Labor time cards.
4. Setup Requirements
The design requires proper configuration of:
- Payroll elements
- Element eligibility
- Related generated elements where applicable
Practical Recommendation
Use PayrollTimeCard.dat when:
- You want time-driven payroll processing.
- You need detailed audit and reconciliation.
- You want Oracle Payroll to process time-card-style data.
Use PayrollAbsenceRecord.dat when:
- You are integrating approved absence data.
- You want Oracle Payroll to process absence-related payroll logic.
Use ElementEntry.dat when:
- You receive payroll-ready values from UKG.
- UKG has already calculated the final payable hours or amounts.
Avoid:
- Using CalculationCard.dat directly for time or absence data.
Conclusion
The confusion around Calculation Cards usually comes from treating them as an integration option rather than understanding what they represent.
Calculation Cards are the internal payroll representation of time and absence data, but the correct load mechanism is through the appropriate HDL business object.
Final Takeaway
- PayrollTimeCard.dat and PayrollAbsenceRecord.dat do populate Calculation Cards.
- You should not use CalculationCard.dat directly for time or absence loads.
- ElementEntry.dat remains valid for payroll-ready inputs.
Using the correct HDL object ensures that the integration is aligned with Oracle’s payroll architecture, easier to reconcile, and more scalable for long-term maintenance.
No comments:
Post a Comment