Setting up PSA Timecard to Payroll Integration
To configure the PSA timecard to third-party payroll or HCM application integration, complete the following steps.
The PSA Timecard API feature uses the PSA Resource API feature to identify resources from their CorrelationId.
Ensure that the PSA Resource API feature has been fully configured in your org. For more information, follow the steps in Setting up Third-Party HCM to PSA Resource Integration.
Update the permissions for the dedicated API user created for the PSA Resource API feature.
To create the records required for the PSA Timecard API feature, you must also assign the PSA Timecard API permission set to the API user.
Decide what information you want to receive from PSA and configure your third-party payroll or HCM application to request data via the API.
See the PSA REST API Developer Reference on the Certinia Community for more information.
Your organization might record time off details in PSA, as well as in your third-party payroll or HCM app, for utilization and scheduling purposes. If resources in your organization enter time off in PSA manually, or if your org is set up to use the PSA Assignment API feature, you must configure PSA to exclude time off timecards to prevent duplicate records from being created during the payroll process.
You can ensure that PSA only sends timecard details for logged work by configuring PSA to exclude timecards for specific project types.
- Your organization uses a third-party payroll or HCM app to process payroll and record time off details.
- Your organization uses PSA for scheduling and shift management.
- The PSA Assignment API integration is configured to automatically create timecards in PSA to show when resources are unavailable.
- Timecards for time off details are related to a project that indicates that the resource is unavailable. The project type specified on the project is "Paid Time Off".
When running payroll in your third-party application, you only want to process time off data created in that application, not PSA, to ensure your data doesn't contain duplicate entries for the time off dates. In PSA, you can exclude the "Paid Time Off" project type so these timecard details are not sent to the third-party application.
To exclude specific project types:
- Ensure that the project type that represents time off, such as "Paid Time Off", is recorded on the appropriate projects.
- In the Timecard API Settings custom setting, enter the names of the project types you want to exclude in the Exclude Project Type from POST Response field. Separate each name by a comma, if you need to enter more than one.
- Click Save. When you request timecard data via the API, PSA will not send details for timecards associated with projects that contain the excluded project type.
If you do not record time off details in PSA and want to send details for all project types, leave the Exclude Project Type from POST Response field blank.
If a standard earnings code is not set in your third-party payroll or HCM application for hours entered in PSA, you can use the Timecard API Settings custom setting to specify the earnings codes you want to use against assignments and global projects in PSA.
To specify the fields on the Assignment and Project objects that contain earnings code details:
- Navigate to the Timecard API Settings custom setting.
- In the Earnings Code (Assignment) field, enter the API name of the field on the Assignment object that contains assignment earnings code details. This is often a custom field. If the field you specify has the same API name as another field but is namespaced, ensure that you include the namespace prefix for the correct field to be picked up. For example, you would enter "pse__Project_Type__c", instead of "Project_Type__c".
- In the Earnings Code (Project) field, enter the API name of the field on the Project object that contains global project earnings code details. This is often a custom field. If the field you specify has the same API name as another field but is namespaced, ensure that you include the namespace prefix for the correct field to be picked up. For example, you would enter "pse__Project_Type__c", instead of "Project_Type__c".
- Click Save.
When you request timecard data via the API, PSA will include the appropriate earnings codes in the POST response.