I can guide you through resolving the HCM Extract field mapping issue systematically. Your problem involves three interconnected areas that need to be addressed:
HCM Extract Field Mapping:
The root cause is that your extract definition is referencing field names that don’t match the actual descriptive flexfield (DFF) segment names in your compensation plan. When you added the custom fields to your compensation plan, they were stored as DFF segments with specific technical names that may differ from the display names you see in the UI.
To get the correct field mappings, navigate to Setup and Maintenance > Manage Descriptive Flexfields. Search for the Compensation Plan flexfield context, and locate your custom segments. You’ll find the actual segment names - they’re likely something like “PERFORMANCE_BONUS_TIER_CODE” and “DEPARTMENT_MULTIPLIER_VALUE” rather than the simplified names in your extract definition.
Update your HCM Extract definition with the exact DFF segment names:
<Attribute Name="BonusAmount" Type="Number"/>
<Attribute Name="PERFORMANCE_BONUS_TIER_CODE" Type="String" FlexField="CompPlanDFF" Segment="PerfBonusTier"/>
<Attribute Name="DEPARTMENT_MULTIPLIER_VALUE" Type="Number" FlexField="CompPlanDFF" Segment="DeptMultiplier"/>
Notice the addition of FlexField and Segment attributes - these are required for custom field extraction in 23D. The FlexField attribute identifies which DFF structure contains your custom fields, and the Segment attribute maps to the specific segment within that structure.
Compensation Plan Configuration:
After updating your compensation plan with new custom fields, you must configure these fields for extract availability. This is a separate setting from just adding the fields to the plan structure.
Navigate to: Setup and Maintenance > Manage Compensation Plans > [Your Plan] > Custom Fields section. For each custom field (PERF_BONUS_TIER and DEPT_MULTIPLIER), verify these settings:
- “Available for Reporting” checkbox is enabled
- “Available for Extract” checkbox is enabled
- “Data Type” matches your extract definition (String for tier, Number for multiplier)
- “Context Value” is set appropriately if you’re using context-sensitive flexfields
If either field has “Available for Extract” disabled, that explains why they’re blank in your output. Enable this setting and save the plan configuration. Note that enabling extract availability doesn’t require recalculating existing compensation records - the fields become immediately accessible to extracts.
Also verify that your compensation plan has been fully processed and approved after adding the custom fields. If the plan is still in draft status or pending approval, the custom field values won’t be available for extraction even if the fields are properly configured.
Payroll Integration Validation:
Once you’ve updated the extract definition with correct field mappings and enabled extract availability for the custom fields, you need to validate the integration before processing live payroll data.
First, regenerate the extract data model to include the new field mappings. In the HCM Extract definition:
- Navigate to Tools > HCM Extracts > Your Extract Definition
- Click Actions > Regenerate Data Model
- This refreshes the extract’s understanding of available fields from your compensation plan
- Verify that the regeneration completes without errors
Next, run a test extraction with a small sample of employees who have values in both custom fields:
- Create a test extract execution limited to 10-15 employees
- Download the output file and verify that PERFORMANCE_BONUS_TIER_CODE and DEPARTMENT_MULTIPLIER_VALUE columns contain actual values, not blanks
- Cross-reference the extracted values against the source compensation records to ensure accuracy
- Validate data types - tier codes should be text strings, multipliers should be decimal numbers
For your payroll system integration, coordinate with your payroll team to update their import mapping if needed. Since you changed the field names from “PerfBonusTier” to “PERFORMANCE_BONUS_TIER_CODE”, their import process might need adjustment to recognize the new column names in the extract file.
Finally, implement these validation checks in your ongoing extract process:
- Add a post-extract validation query that counts records with null values in the custom fields
- Set up alerts if more than 5% of records have missing custom field data
- Include the custom fields in your payroll reconciliation report to catch any future mapping issues early
After making these changes, run a full extract for your next payroll cycle and verify that all three fields (BonusAmount, PERFORMANCE_BONUS_TIER_CODE, and DEPARTMENT_MULTIPLIER_VALUE) populate correctly. This should resolve your payroll mismatch issues and ensure accurate bonus calculations going forward.