API-based payroll integration with Ceridian Dayforce
This article describes the configuration steps that are required for API-based payroll integration between Microsoft Dynamics 365 Human Resources and Ceridian Dayforce. You must configure the integration in both Human Resources and Dayforce before you can process a pay run.
Environment settings
Before you use the Human Resources payroll integration, set up the following parameters:
On the Human Resources shared parameters page:
- On the Positions tab, select Require departments on positions.
- On the Payroll integration tab, select Use payroll address purposes.
- On the Financial dimensions tab, select Default financial dimensions.
On the Human Resources parameters page:
- On the Payroll integration tab, select Use identification types in payroll processing.
- On the Payroll integration tab, in the Identification type field, select the appropriate identification type for the legal entity.
In System administration, go to Financial dimension configuration for integrating applications > Data entities, and define financial dimension formats for data entities.
Note
Human Resources parameters are unique to each legal entity. If you use multiple legal entities, you must configure Human Resources parameters for each one.
Ensure that the financial dimension items in the selected list are in the correct order. The connector looks at the financial dimension position that has been provided from the selected list in the MyIntegration portal.
Work with Ceridian to determine which financial dimensions should be enabled for alignment with the Dayforce site (location).
For more information, see Configure Human resources parameters.
API setup
Before you can use the API, the virtual tables must be generated. For more information, see Virtual tables for Human Resources in Dataverse.
Note
For the payroll integration to work for customers using the mshr entities, the row version change tracking must be disabled. To disable row version change tracking, reach out to Microsoft support to enable the DMFDisableSqlRowVersionCtForCDSVirtualEntity flight. Enabling this flight will disable row version change tracking.
Enable features
You must enable features in Feature management to enable Microsoft APIs to be exposed to the integration and the data to be passed to Dayforce.
Go to System administration > Feature management > All.
Enable the following features:
- (Preview) Payroll integration
- Virtual table support for HR in Dataverse
- Streamline employee entity
- Benefits management
Note
Features in Feature management might be enabled by default.
Virtual tables
Human Resources is a virtual data source in Dataverse. It provides full create, read, update, and delete (CRUD) operations from Dataverse and Microsoft Power Platform. For more information about Dataverse virtual tables, see Configure Dataverse virtual tables.
For more information about how to install virtual tables, see Install the Dynamics 365 HR Virtual Table app and Generate virtual tables.
After the virtual tables are installed, generate the virtual tables for the data to pass to Dayforce. The Dayforce people connector pulls data from the following tables at Dataverse integration > Virtual tables to ensure that Dayforce can process payroll. For more information, see Enable Microsoft Dataverse virtual entities.
- DimAttributeHcmPositionEntity
- DirPersonNameHistoricalEntity
- FinancialDimensionValueEntity
- HcmCompFixedPlanTableEntity
- HcmEmployeeV2Entity
- HcmEmploymentDetailEntity
- HcmEmploymentEmployeeEntity
- HcmEmploymentV2Entity
- HcmJobDetailEntity
- HcmJobEntity
- HcmJobFamilyEntity
- HcmJobFunctionEntity
- HcmJobTypeEntity
- HcmLaborUnionAgreementEntity
- HcmLaborUnionEntity
- HcmPayRateConversionEntity
- HcmPersonIdentificationNumberEntity
- HcmPersonLaborUnionEntity
- HcmPositionDefaultDimensionEntity
- HcmPositionDetailEntity
- HcmPositionEntity
- HcmPositionHierarchyEntity
- HcmPositionTypeEntity
- HcmPositionUnionAgreementEntity
- HcmPositionV2Entity
- HcmPositionWorkerAssignmentV2Entity
- HcmReasonCodeEntity
- HcmUnionsEntity
- HcmWorkerBankAccountEntity
- HcmWorkerBaseEntity
- HcmWorkerContactEntity
- HcmWorkerEntity
- HcmWorkerPayrollInfoEntity
- Hcmworkerpostaladdressv2entity
- HcmWorkerSummaryEntity
- OMCostCenterEntity
- OMDepartmentV2Entity
- OMLegalEntity
- OmLegalEntityContactEntity
- PayrollBankAccountDisbursementEntity
- PayrollEmployeeEntity
- PayrollEmployeeV2Entity
- PayrollFixedCompensationPlanEntity
- PayrollPositionDetailsEntity
- PayrollPositionEntity
- PayrollPositionJobEntity
- PayrollPositionWorkerDefaultTaxRgnEntity
- PayrollWorkerAddressCurrentEntity
- PayrollVariableCompensationAwardEntity
- HcmVariableCompensationAwardEntity
Track changes
The change tracking feature in Dataverse detects data that has changed since the data was originally extracted or last synced. For more information, see Use change tracking to synchronize data with external systems.
To enable change tracking, follow these steps.
- Go to System administration > Data management > Data entities.
- Search for the target entity.
- Turn on Track changes.
Turn on Track changes as appropriate, for the following:
Target entity | Change tracking |
---|---|
DirPersonNameHistoricalEntity | All tables |
HcmCompFixedEmplEntity | All tables |
HcmCompFixedPlanTableEntity | All tables |
HcmCompVarPlanTableEntity | All tables |
HcmEmployeeEntity | All tables |
HcmEmployeeV2Entity | All tables |
HcmEmploymentDetailEntity | All tables |
HcmEmploymentEmployeeEntity | All tables |
HcmEmploymentEntity | All tables |
HcmEmploymentTypeEntity | All tables |
HcmEmploymentV2Entity | Al ltables |
HcmIdentificationTypeEntity | All tables |
HcmJobBaseEntity | All tables |
HcmJobCompensationEntity | All tables |
HcmJobDetailEntity | All tables |
HcmJobEntity | Primary table |
HcmJobFamilyEntity | All tables |
HcmJobFunctionEntity | All tables |
HcmJobTaskEntity | All tables |
HcmJobTypeEntity | All tables |
HcmLaborUnionEntity | All tables |
HcmPersonDetailsEntity | All tables |
HcmPersonIdentificationNumberEntity | All tables |
HcmPositionBaseEntity | All tables |
HcmPositionDefaultDimensionEntity | All tables |
HcmPositionDetailEntity | All tables |
HcmPositionEntity | Primary table |
HcmPositionHierarchyEntity | All tables |
HcmPositionHierarchyTypeEntity | All tables |
HcmPositionTypeEntity | All tables |
hcmPositionUnionAgreementEntity | All tables |
HcmPositionV2Entity | All tables |
HcmPositionWorkerAssignmentEntity | Primary table |
HcmPositionWorkerAssignmentV2Entity | Primary table |
HcmUnionsEntity | All tables |
HcmVariableCompensationTypeEntity | All tables |
HcmWorkerBankAccountEntity | All tables |
HcmWorkerBaseEntity | Custom |
HcmWorkerEntity | Custom |
HcmWorkerPayrollInfoEntity | All tables |
PayrollBankAccountDisbursementEntity | Primar ytable |
PayrollEmployeeEntity | Primary table |
PayrollFixedCompensationPlanEntity | All tables |
PayrollPositionDetailsEntity | All tables |
PayrollPositionEntity | All tables |
PayrollPositionJobEntity | All tables |
PayrollWorkerAddressCurrentEntity | All tables |
Turn on Tracking Changes, as appropriate, for the following:
Target** Entity ** | ** Change **Tracking |
---|---|
DirPersonNameHistoricalEntity | Alltables |
HcmCompFixedEmplEntity | Alltables |
HcmCompFixedPlanTableEntity | Alltables |
HcmCompVarPlanTableEntity | Alltables |
HcmEmployeeEntity | Alltables |
HcmEmployeeV2Entity | Alltables |
HcmEmploymentDetailEntity | Alltables |
HcmEmploymentEmployeeEntity | Alltables |
HcmEmploymentEntity | Alltables |
HcmEmploymentTypeEntity | Alltables |
HcmEmploymentV2Entity | Alltables |
HcmIdentificationTypeEntity | Alltables |
HcmJobBaseEntity | Alltables |
HcmJobCompensationEntity | Alltables |
HcmJobDetailEntity | Alltables |
HcmJobEntity | Primarytable |
HcmJobFamilyEntity | Alltables |
HcmJobFunctionEntity | Alltables |
HcmJobTaskEntity | Alltables |
HcmJobTypeEntity | Alltables |
HcmLaborUnionEntity | Alltables |
HcmPersonDetailsEntity | Alltables |
HcmPersonIdentificationNumberEntity | Alltables |
HcmPositionBaseEntity | Alltables |
HcmPositionDefaultDimensionEntity | Alltables |
HcmPositionDetailEntity | Alltables |
HcmPositionEntity | Primarytable |
HcmPositionHierarchyEntity | Alltables |
HcmPositionHierarchyTypeEntity | Alltables |
HcmPositionTypeEntity | Alltables |
hcmPositionUnionAgreementEntity | Alltables |
HcmPositionV2Entity | Alltables |
HcmPositionWorkerAssignmentEntity | Primarytable |
HcmPositionWorkerAssignmentV2Entity | Primarytable |
HcmUnionsEntity | Alltables |
HcmVariableCompensationTypeEntity | Alltables |
HcmWorkerBankAccountEntity | Alltables |
HcmWorkerBaseEntity | Custom |
HcmWorkerEntity | Custom |
HcmWorkerPayrollInfoEntity | Alltables |
PayrollBankAccountDisbursementEntity | Primarytable |
PayrollEmployeeEntity | Primarytable |
PayrollFixedCompensationPlanEntity | Alltables |
PayrollPositionDetailsEntity | Alltables |
PayrollPositionEntity | Alltables |
PayrollPositionJobEntity | Alltables |
PayrollWorkerAddressCurrentEntity | Alltables |
Add a Dayforce Connector user in the Human Resources environment
- Go to System administration > Manager user, and select New user.
- Enter values in the User ID, User name, User email, and Role fields. (Use the previously created API Dayforce Connector role).
Note
The user name and password are required for the setup of the MyIntegration portal in Dayforce.
Enable the connection
Important
This section requires a user who has full administrative security access to the Dataverse and Azure tenant. The user must also have the right to give consent on behalf of the company (tenant) to allow access to the Human Resources APIs.
To connect the Human Resources environment to Dayforce payroll, follow these steps.
- Add the Dayforce payroll connector application to the tenant.
- Configure an API role for the Dataverse environment.
Enable the Dayforce people connector application on the customer tenant
The customer's Microsoft tenant controls all activity in the customer's Microsoft environment. This activity includes security and access to all Microsoft applications. By enabling the Dayforce people connector on the tenant, you enable it to communicate with the necessary Microsoft applications that are used in this integration.
- Go to https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=6817703f-e5b3-4eec-b11f-ba6367f1b156&response_type=id_token&redirect_uri=https://developersdev.dayforce.com/Dev/Microsoft-to-Dayforce-Connector.aspx&scope=openid&response_mode=fragment&state=12345&nonce=678910.
- Enable the URL for the company.
- Select Consent on behalf of your organization.
Add the Dayforce people connector in Dataverse
You must add the Dayforce people connector to your specific Dataverse instance.
Open Power Platform admin center, go to Environment > Settings > Application users, and select New user.
Add the Dayforce people connector application. The app ID is 6817703f-e5b3-4eec-b11f-ba6367f1b156.
Give the application the following security roles:
- Basic user
- Finance and operations basic user
For more information, see the following resources:
Add the Dayforce people connector to the Human Resources environment
- In Human Resources, go to Microsoft Entra Application, and select New.
- Add the Dayforce payroll connector that has the client ID 6817703f-e5b3-4eec-b11f-ba6367f1b156 and the user ID DFAPIConnector.
Ready to pay
Important
Before employees can be integrated into Dayforce, they must be marked Ready to pay. Employees that aren't marked Ready to pay won't be picked up.
The Dayforce people connector integration uses Microsoft's ready to pay feature to ensure that a complete, valid employee profile has been created before payroll is processed. For more information, see Ready to pay.
Feedback
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Submit and view feedback for