New Features and Enhancements in PSA Spring 2025

The following new features have been introduced in the Spring 2025 release of PSA.

If you are upgrading from a previous version, see Upgrading to PSA Spring 2025. This provides a summary of the items that have been added for each feature and details of any required upgrade steps.

AI Resource Summaries

Early Adopter

Note:

This feature is part of the Certinia Early Adopter Program. This program is only available to a limited number of customers. For more information, contact your Customer Success Manager.

You can now view AI-generated summaries of the resources that are matched to resources requests from the Resource Details panel in the Resourcing tab of resource requests. Resource AI summaries enable you to leverage the power of Certinia AI by generating summaries of resources that include their recent project experience and the key skills they used while working on those projects. Providing only the relevant information reduces the time you spend manually evaluating your resources, and provides a clear description of the resource that other stakeholders can review.

For more information, see:

Split Assignments to New Resource Requests via Synchronous API

We have introduced a splitAssignmentToResourceRequest synchronous API that allows you to split multiple assignments into resource requests. Using this API, you can split approximately 85 assignments for new resource requests, which helps when dealing with multiple assignments.

For more information, see

Mass Hold and Mass Assign Resource Requests via Asynchronous APIs

We have introduced holdResourceRequestsAsync and assignResourceRequestsAsync APIs, which process asynchronously to hold and assign multiple resource requests. You can monitor the status of each job in the asynchronous process. You are notified on the org through bell notifications and through an email when there is an error during the process. Additionally, you are notified for each status after the process completion through emails. The email is sent if there is an email address specified in your org and you have opted for receiving email notifications.

App Logs

When resources are held or assigned using the holdResourceRequestsAsync and the assignResourceRequestsAsync APIs and if any errors occur, app logs are created to help administrators resolve any issues.

To assist with managing these records, we've added a Resourcing origin option to the App Log Cleanup Job and Schedule App Log Cleanup Job actions on the PSA Administration tab. This enables administrators to bulk delete app logs related to mass hold and mass assign resource requests, as well as other resource request-related app logs.

For more information, see:

Visibility of Cost Rate Information

We have updated the visibility of Cost Rate, Cost Rate Amount, and Use Default Cost Rate fields from the following Lightning action links to prevent displaying sensitive information:

  • Assign Resource to Project and Assign Multiple Resources to Project on the project record page
  • Create Assignment on the Work Planner page

Depending on user profiles, an administrator can grant access to the Cost Rate, Cost Rate Amount, and Use Default Cost Rate fields if these fields are not displayed in your org.

Additionally, we have updated the PSA - Manage Project Assignments and the PSA - Edit Work Planner permission sets to include these changes.

For more information, see:

Loading Records Incrementally in Work Planners

The Work Planner previously had a limitation of displaying a maximum of 1,000 assignments and resource requests, grouped by project, resource, or RPG after filters were applied. Due to this limitation, some matching assignments and resource requests were not displayed, and data loading times were also increased.

To address this limitation, we have provided a capability to manually load assignments and resource requests, grouped by project, resource, or RPG.

To do this, we have added a Load More button on the Allocation view of the Work Planner page. This button allows you to load projects and resources incrementally and load RPGs associated with assignments and resource requests. The records are added based on the value specified in the Maximum Results Returned property of the Work Planner Lightning component.

Notes:
  • The Load More button is visible until the maximum number of assignments and resource requests are displayed in the Work Planner.
  • The Load More feature is currently not supported for the Scheduler view of the Work Planner page.

For more information, see:

Mass Resourcing with Resource Request Staffer

Resource Request Staffer streamlines the process of staffing multiple resource requests simultaneously, addressing the challenges of manually searching for resources. This feature identifies the most suitable resource for selected unmatched requests. You can define the priority order and importance of different criteria for matching resources using customizable match settings. This matching process ensures that each resource is matched to one resource request and enables you to shortlist, hold, or assign matched resources.

You can also now determine whether the resource that is matched to a resource request must have previously worked with the customer using the new Worked with Customer field. This field has been added to the Resource Request object and in the match settings on the Resource Request Staffer page. An administrator can also add the field to the Filters panel.

For more information, see Resource Request Staffer Overview.

App Logs

When resources are matched using Resource Request Staffer, if any errors occur, app logs are created to help administrators resolve any issues. To assist with the management of these records, we've added a Resourcing origin option to the App Log Cleanup Job and Schedule App Log Cleanup Job actions on the PSA Administration tab. This enables administrators to bulk delete app logs related to resource matching in Resource Request Staffer, as well as other resourcing-related app logs.

For more information, see App Logs Overview.

Enhanced Scalability for Services Billing

Prior to this release, users can experience issues when a large number of billing events were released by a large number of users simultaneously, which can cause the Apex Flex Queue to reach its maximum limit of 100 jobs, resulting in failures when releasing billing events.

We have improved the process of batch job handling for billing events when the Flex Queue is full. To prevent batch jobs from failing to start, PSA now uses an asynchronous framework that initiates a callable that checks for available space in the Flex Queue before starting a batch job.

To do this, we have:

  • Added a new BILL_QueueBillingJobCallable callable
  • Introduced the following new fields in the Billing custom setting:

    • Flex Queue Delay
    • Flex Queue Maximum Batch Retries
    • Flex Queue Threshold
  • Created a new Queued field in the Billing Event and Billing Event Batch objects.

The BILL_QueueBillingJobCallable callable checks the Flex Queue's current status. It starts the release batch job when there is enough space available. If there isn't enough space, the callable will:

  • Mark all the records selected to be released as queued.
  • Based on the value specified in the Flex Queue Delay custom setting field, re-attempt to start the next batch after a set delay to check if the Flex Queue has capacity.

This process repeats a number of times set in the Flex Queue Maximum Batch Retries custom setting field, as the callable continuously monitors the Flex Queue until it finds enough space to start the released batch job successfully. These enhancements make batch job handling more reliable, reducing failures during busy times.

For more information, see:

Cumulative Availability Filtering in Utilization Engine

We have enhanced the querying of availability by hours and percentages on the Utilization Engine record. To do this, we have added a Use SOQL Availability Filtering field in the Utilization Settings custom settings, which creates additional utilization engine records to enhance filtering by availability in SOQL queries.

Additionally, we have introduced a Cumulative Availability object that stores pre-calculated availability records for a resource based on a seven-day schedule.

Within the Cumulative Availability object, we have introduced Availability Hours in Week 1-53, Period, and Resource fields that record hourly availability for each period, such as weekly intervals. These fields will help you track total availability and allow us to easily calculate:

  • Availability increases over a given time. For instance, to determine availability for weeks 4 and 5, you can simply subtract the accumulated availability of week 5 from that of week 3.
  • Percentage availability.

For more information, see:

Repeating Patterns in Assignments and Resource Requests and Mass Editing Shortlist Statuses

To save time when creating assignments or resource requests, we have introduced the repeat custom schedule pattern features to the following areas:

  • The Schedule Selected Items window when assigning multiple resources to a project from a project record page.
  • The Schedule Pattern section of the Self-Assignment window.
  • The ResourceAssignmentRequest API.

Using this feature, you can enter a positive whole number in the Repeat Every field, and the schedule repeats at that interval for the duration of the resource request or assignment. For example, if you enter 3, the schedule repeats every third week after the first week.

For more information, see:

Also to save time for resource managers:

  • In the Allocation view of the Resource Request page Resourcing tab, you can now edit the fields in the Shortlist Status column for multiple resources at the same time.
  • We have updated the functionality of the existing Duplicate Shortlist action on the Actions tab of a resource request record. This now enables resource managers to duplicate a shortlist and its related records to one or more other resource requests that have similar requirements.

For more information, see Managing Resource Requests.

Shortlist Information in Work Planners and Resource Requests

Information about resource requests that a resource has been shortlisted for is now exposed in work planners. This enables resource managers to make informed, optimized resourcing decisions due to the increased visibility of information about resources' existing commitments. They can then make adjustments to schedules that focus on billable work and reduce the risk of the overallocation of resources.

Administrators can now show or hide a shortlists section for resources in the Allocation view, when grouping by resource. This adds a checkbox in the Filters panel of the work planners, and adds a section to each resource that shows resource requests that the resource has been shortlisted for. If the resource requests that resources have been shortlisted for do not have a schedule, the hours are shown in italics.

If resource managers have the correct permissions, they can also deselect the checkbox in the Filters panel of work planners or the Resource Request record to show or hide the shortlists section.

A new custom setting enables you to exclude shortlists with specific statuses from the shortlists displayed for resources in the Allocation view, when grouped by resource.

For more information, see:

Sharing Saved Filters in Work Planners

When saving filters in work planners, you can now mark filter sets as private or share them across your organization. Saved filters are also now stored in the Filter Set object. Previously, they were stored locally, meaning that a maximum of 50 filters could be accessed for each user, when using the same browser on the same device.

Sharing saved filters ensures that all users can access more targeted and relevant data in work planners, improving efficiency and the consistency of results returned. This feature also reduces the risk of resource managers losing saved filters and needing to set them all up again from scratch.

For more information, see Saving Your Filters in Work Planners.

Improved Record Security for Work Planner

We have strengthened privacy controls in Work Planner by removing visibility of private records and any associated child records for certain users. For example, if a project record is Private to a user, when the work planner is grouped by project, the user cannot view details of the project and its associated child records. Previously for private records, details such as the project ID and the project's associated child records were visible to all users.

We have also placed restrictions on assignment and resource request records that are associated with private records. For example, when an assignment or resource request is associated with a private project, you are unable to clone the assignment, swap a resource with a new resource from an existing assignment, or split to a new assignment.

For more information, see Sharing Access on Records.

Selecting Multiple Values in Picklist Filter Fields

You can now select multiple resource roles when filtering in work planners and on the Resourcing tab for resource requests. Selecting multiple resource roles eliminates the need to create several separate filters and enables you to effectively plan work across different resource types. The ability to select multiple options simultaneously applies to all picklist filter fields in work planners and on the Resourcing tab for resource requests. Previously, you could only select one resource role and one option at a time in standard or custom picklist fields.

Updating Schedules via Monthly View and Percentage Values for Work Planners and Resource Requests

In the Allocation view in Work Planner and on a resource request record page, you can now update schedule records in the Months zoom level. You can also copy cell values to extend or shorten schedules of assignments and resource requests in the Months zoom level. Previously, schedules could only be edited in the Days or Weeks zoom levels.

We have also added the Show Expanded Rows as Percentages checkbox in the Preferences panel. You can select this checkbox to display schedule values for individual resource requests and assignments as percentages, rather than hours. This complements the existing Show Totals as Percentages checkbox, which displays the top-level totals for resources in the Allocation view as percentages. Selecting both checkboxes means that you can view and edit the work planner entirely using percentage values. These enhancements provide resource managers with greater flexibility when updating schedule records.

Updated Availability Calculation to Reflect Preferred Schedule Fields on Resource Requests

We have updated the availability calculation for resource requests to reflect the total scheduled hours on a preferred schedule. Previously, the availability of resources was calculated based on the requested hours on a resource request. When a preferred schedule exists on a resource request, the Start Date and End Date fields in the Filters panel on the Resourcing tab now reflect the dates and hours on the preferred schedule. Previously, the default state of these fields matched the hours on the resource request.

Enhanced Skill Suggestions for Resource Requests

We have improved the skills suggestions displayed when creating a resource request. Now, skills suggestions can display when you manage skills on a project, opportunity, or resource request, and when you create resource requests from Work Planner. Skills suggestions also display when you edit skills from the Filters panel in the Resourcing tab on resource requests, and when assigning multiple resources to projects from projects. We have also updated the design of the Filters panel to improve navigation by adding collapsible sections for resource fields and skills and certifications.

For more information, see Skill Suggestions Overview.

We have also updated the process for suggesting skills. Now, skill suggestions can also be based on skills related to the role, region, practice, and group of resources with those skills. This ensures meaningful suggestions when there is not enough past assignment data to suggest skills.

Additionally, we have enhanced the creation process of resource requests from Work Planner to automatically populate the following fields:

  • Region
  • Practice
  • Group
  • Role
  • Project or Opportunity, depending on what the assignment or resource request was created from.

Now, if you select an assignment or resource request before clicking Create Resource Request, the fields are populated with the values defined on the assignment or resource request. If the resource request has any skills associated, these are brought forward as well.

Efficiency Gains in Resource Requests and Work Planners

To make the creation of resource requests and the usage of the work planners more efficient, focused, and secure, we have added:

  • The automatic population of relevant fields when creating resource requests and assignments.
  • The ability to customize the columns in the Allocation view in work planners.
  • The ability to show or hide project details in work planners.

See the sections below for more details.

Automatically Populated Fields When Creating Resource Requests and Assignments

To increase efficiency, some fields in the Create Resource Request and Create Assignment windows are now automatically populated. This functionality reduces repetitive data entry tasks, which saves time and ensures that data is consistent between resource requests or assignments.

For more information, see Using Work Planners

Column Customization in Work Planners

In the Allocation view in the work planners, you can now drag and sort the data in columns to the left of the splitter bar. This enables you to assemble the data that you need faster. Changes are also retained when you refresh the page or leave the work planner and then return to it.

For more information, see Using Work Planners

Hiding Projects from Work Planners

You can now exclude projects and their assignments, resource requests, and shortlisted resource requests from all planners, except the Resource Planner. To support this feature, we have:

  • Changed the function of the Exclude from Project Planner checkbox on the Project record page to apply to all work planners.
  • Changed the name of the Exclude from Project Planner checkbox to Exclude from Planners.

For more information, see:

Percent Allocation When Creating Resource Requests from Work Planners, Projects, and Opportunities

You can now select the Percent Allocation scheduling strategy when creating resource requests from work planners, projects, and opportunities. This enables you to refine your requests by calculating daily hours using the percentage in the Percent Allocation field and a work calendar. The work calendar used is for the region, practice, or group, whichever is the first found.

For more information, see:

Enhanced Work Planner Performance

We have made some background changes that enable work planners to handle larger volumes of data, which is especially useful for enterprise customers. This helps to decrease load times for actions, such as splitting resource requests, applying changes in the Preferences panel, expanding records with a large number of child records, or changing schedules in the grid.

Resource Matching Indicators on the Resourcing Tab

On the Resourcing tab of a resource request, a cell value is bolded and Match is displayed when a resource matches any of the following filters:

  • RPG and Include Sub-RPG
  • Resource Role
  • Worked with Customer
  • Some custom fields added by an administrator

For more information, see Managing Resource Requests and Resourcing Lightning Component Properties.

Enhanced Skills Management on Resource Requests

We have improved the process of adding skills and certifications to resource requests. You can now use the checkboxes to select the skills, certifications, or skill sets that you want to remove from the resource request using the new Remove button. The added skills and certifications are also now presented in a single table, grouped into skill sets and individual skills and certifications.

These enhancements apply to all areas where skills are managed for resource requests.

Manage Project Task Hierarchies in Gantt on a Project Record with the Work Breakdown Structure (WBS)

A WBSClosed Work Breakdown Structure column is now available in the grid in Gantt on a project record so that you can view project task hierarchy information.

Manage Dependencies in Gantt on a Project Record

The ability to easily create and update dependencies helps to reduce the time spent on project planning, minimize errors, and ultimately lead to more accurate and reliable project schedules. You can now manage dependencies from Gantt on a project record.

For more information, see Managing Dependencies Between Project Tasks.

View Resources in Gantt on a Project Record

If you have read-only access to resources, you can now view the details of the resources assigned to a single project task using the Manage Resources button.

For more information, see:

Improved Filtering for the Project Task Board and Gantt on a Project Record

We have made several enhancements to Project Task Board and Gantt on a project record.

Enhancements to Project Gantt Filter Panel

An administrator uses the Custom Columns Field Set property in Lightning App Builder to control the columns displayed in the grid in the Project Gantt Lightning component. By default, the Gantt Editable Custom Columns field set is now displayed in the Custom Columns Field Set field. In addition, the Work Calendar field is now available in that field set by default.

We have enhanced the functionality of the Record Type field on the Project Gantt Lightning component. This field derives from the field set, so ensure you create a record type for the Project Task object and include it in the appropriate project task field set. It now only shows the record type for the Project Task object, which further improves filtering on Project Gantt.

For more information, see:

Note:

If an administrator has already specified a different field set in the Custom Columns Field Set property in Lightning App Builder for the Project Gantt Lightning component, that field set continues to apply.

Enhancements to Project Task Board Filter Panel

We have enhanced Project Task Board filtering to make project task searches easier.

The enhancements are as follows:

  • Added the External Resource and Project Task Name fields on the Project Task Board filter panel. In the External Resource field, you can select multiple external resources attached to the current project's project task assignments when filtering. In the Project Task Name field, you can enter the name of the specific project task to filter by.
  • Added a new Task Filter Custom Fields Field Set Lightning property on the PSA Project Task Board Lightning component that enables you to select the task filter fields you want to display in the filter panel.
  • Improved the functionality of the Record Type field on the Project Task Board.

    • The Record Type field is derived from the field set, so ensure a record type is created for the Project Task object and included in the appropriate Project Task field set.
    • It now only shows the record type for the Project Task object, which further improves filtering.
  • Added the Saved Filters functionality to the filter panel of the Project Task Board component for the project record page and Project Task Board workspace. This helps to:

    • Save, edit, and delete filters.
    • Set and remove default filter sets.
    • Add or edit the visibility of new and saved filter sets.

For more information, see:

Introducing RAID for Risk and Issue Management

We have introduced the RAID Tracker to give Project Managers a comprehensive overview of all the risks and issues associated with a project. The RAID Tracker includes:

  • Likelihood, impact, priority, and severity for risks and issues.
  • Information about the owner of each risk or issue, the related milestone, and the dates raised and closed.
  • Toolbar with global search except for dates, grid header with subtitle, flexi view, and Reload button.
  • Record Details button that opens the Record Details panel to display information about the selected record on the grid.
  • Filtering by Status for risks and issues on the grid.
  • Change View button to change the view of the grid based on the different RAID objects.
Note:

In this release, the RAID Tracker displays only risks and issues categorized as RAID types in a view-only format. In future releases, we will enhance this functionality to include actions, assumptions, decisions, and dependencies.

For more information, see RAID Tracker Overview and RAID Tracker Lightning Component Fields.

Surfacing Issues and Risks in Project Task Board

Issues and risks related to your project tasks are now visible in the Record Details panel from the Project Task Board. This enables you to view all of the relevant information about a task as you're working on it, without having to navigate away.

You can also view all issues and risks, add a new issue and risk from the Record Details panel from the Project Task Board, to enable you to create these records without navigating away.

For more information, see:

Improvements to Collaboration and Tracking Work

You can now add rich notes to project tasks from Project Task Board. Clicking Edit from the Record Details panel displays the new Edit Task window, enabling you to view and edit project task fields and add notes. The rich notes field enables you to add formatting to your notes.

For more information, see Using the Project Task Board and Project Task Board Lightning Component Fields.

Updates to Rate Cards Matching

We have made the following improvements to Rate Cards Matching.

Recalculate Rate Cards Matching Rates

You can now select Resource Requests and Assignment fields, changes in which will trigger rate card rematching. To do so, we have added the Assignment Rate Card Matching Field Set and Resource Request Rate Card Field Set fields in the custom Rate Card Settings, which enable the Rate Card Matcher Plugin API to automatically recalculate rates when any of the defined fields are updated, ensuring compatibility with custom fields.

For more information, see:

Remove Rate On No Rate Card Matching

We have added a new Remove Rate On No Rate Card Match field in the Rate Card Settings custom setting. This field allows rates to be removed when no matching rate card exists. If no matched rate card exists and an existing rate card is present, selecting the Remove Rate On No Rate Card Match field will remove the existing rate card.

For more information, see Rate Card Settings.

Improvement to PSA Performance and Scalability

We have made several improvements to PSA performance and scalability to improve the user experience.

PSA Asynchronous Process

We have upgraded several batch jobs to queueable based asynchronous jobs to enhance performance for the following features and have updated the PSA administration page accordingly:

  • Generate EVAs For Held Resource Requests
  • Utilization Engine
  • RPGPR Maintenance Job

The new callables for the above jobs are:

  • ActualsUpdateFieldsOnProjectCallable
  • CreateEVAForHeldRRLauncherCallable
  • RPGPRMaintenanceCallable
  • ShiftNotificationsCallable
  • TMR_TimecardSyncJobCallable
  • UE_AdminLauncher

After the asynchronous jobs are triggered, you can monitor the status of jobs in your Salesforce org from the Async Job Records tab.

For more information, see:

Calculating Hours Variance for Active and Inactive Projects

In the previous release, we introduced a feature that excludes inactive projects from calculating hours variance by default. To maintain accurate hours variance values for the completed project, we have introduced functionality that automatically updates the latest hours variance values whenever the project is marked as inactive. Hence, the inactive project also retains the latest variance values.

For more information, see Viewing and Updating Project Variance.

Improved Project Variance Calculation

We have improved the process of calculating project variances by introducing a Project Variance Chunk Size field in the Project Variance Settings. This enables you to manage the chunk size based on user data to avoid performance issues within this process. For more information, see Project Variance Settings.

Retaining Historical Utilization When Excluding Resource From Utilization

Previously, when a resource was excluded from Utilization by selecting the Exclude from Time Calculation field, their historical utilization was removed from utilization. As a result, it was impossible to keep track of the utilization of a resource whose role changed from a billable to non-billable.

To keep historical utilization for such resources, we now track changes made to the Exclude from Time Calculation field on the resource using the Resource Change object. To do so, we have added new Exclude From Time Calculations and Old Exclude From Time Calculations fields in the Resource Change object. This means that you can still keep the historical utilization data related to the resource even if they have been excluded from utilization.

For more information, see:

New Custom Indexes on Schedule Object

We have added the Start Date and End Date custom indexes on the Schedule object. This addition improves responsiveness and performance in business processes that involve large volumes of schedule data, such as resource management or project planning.

For more information, see:

To learn more about Salesforce Custom Indexing, see the Salesforce Help.

Scaling Project Sharing

Previously, projects with over 10,000 related records were not eligible for sharing because of the Salesforce Governor Limits for synchronous processes.

To enable customers to share larger projects, we have improved the process to run asynchronously when required by adding a new SP_ShareProjectCallable.

For the asynchronous process, we have introduced a new project-sharing-chunk-size configuration option in the Project Configuration Group. This option determines the number of records shared in queuable and can be modified if an organization's project-sharing rules are complex.

For more information, see:

Delivery Tracker: View Rolled-up Values and Project Totals

We have added a Totals row to the Delivery Tracker, enabling you to view project totals at-a-glance.

Delivery Tracker now also supports more fields when displaying rolled-up values. All numerical project fields are included in the rolled-up values.

Additionally, we have added Expand and Collapse buttons, enabling you to expand and collapse the Delivery Tracker grid for ease of viewing.

For more information, see:

Introducing Project Portfolios

We have introduced portfolios which enable you to group projects in collections. This enables you to group projects with similar qualities such as goals, customers, or locations, in one collection as a portfolio.

For more information, see Using Portfolios.

Supporting Task Times in Timesheet Entry Through Pre-Population and Additional Fields

We have made the following enhancements to Timesheet Entry to support the use of Task Times:

  • The Add Tasks window now utilizes local storage to keep your filter settings. The filter settings you customize will be stored and available for use in future sessions when accessed from the same browser on the same device.
  • A search bar has been added to the Add Tasks window, enabling you to easily search for tasks by their name or status.
  • You can now view the Record Details panel by clicking Record Details. This panel enables you to view details about your project tasks without having to navigate away from the grid.
  • Timesheet Entry now supports entering time on summary tasks. You can add summary tasks to your timecard through the Add Tasks window, accessed by clicking Add Tasks.
  • You can now edit project task details from the Details section of the Record Details panel in Timesheet Entry. This enables you to amend details of your project tasks without navigating away from Timesheet Entry.
  • Project tasks now automatically populate on your timecard when an assignment with valid Project Task Assignments is selected.

For more information, see:

Dependent Picklist Support in Timesheet Entry

Timesheet Entry now supports the use of dependent list fields, enabling your users to enter additional information on their timecards as required. These fields are connected to ensure the correct information is entered from a predetermined list.

For more information, see Setting Up Timesheet Entry.

Adding Support for Legacy Features in Timesheet Entry

Timesheet Entry now supports the ability to hide the Save and Submit buttons, depending on how you'd like your org to be configured.

You can now also sort your columns in Timesheet Entry by clicking any column header to sort it in ascending order, and clicking again to sort it in descending order. Right-clicking column headers, or using your keyboard, displays the contextual menu, enabling you to select from the following options:

  • Columns
  • Hide column
  • Sort ascending
  • Sort descending
  • Reset to default columns

We have also added Expand and Collapse buttons in the Timesheet Entry grid, which are available to use when working with project tasks. These buttons are also available in the Add Tasks window when adding tasks to your timecard. To support this, the Timesheet Entry grid now supports the Hide Expand Tasks field in the Timecard Entry UI Personal custom setting.

You can also re-arrange the columns using drag-and-drop, and your sorting and layout changes are retained between sessions, when accessing the grid from the same browser and device.

Additionally, we have added support in Timesheet Entry for the following custom setting fields, contained in the Timecard Entry Personal UI custom setting:

  • Disable Copying Hours from Schedule (previously named Hide Copy Schedules)
  • Maximum Resource Hours Per Day
  • Minimum Resource Hours Per Week
  • Maximum Resource Hours Per Week

Values in the minimum and maximum hours fields can be entered as percentages, whole numbers, decimals, and zero values are also supported.

We have also added the Disable Self Assignment field to the Timecard Entry Personal UI custom settings to support this. Enabling this field prevents users from being able to use the Self Assignment feature in Timesheet Entry.

Additionally, we have added support in Timesheet Entry for the following custom setting fields, contained in the Timecard Entry Global UI custom setting:

  • Check for Previous Week Timecards
  • Disable Hours in Timecard Copy

The Case field is also supported in Timesheet Entry when adding custom fields. When adding a case to a timecard, if your org is configured to show custom fields in Timesheet Entry, the subject is now shown below the ID of the case. This enables users to accurately select the correct case in Timesheet Entry.

For more information, see:

Enhancements to Submitting Timecards in Timesheet Entry

We have improved the performance of timecard submission on Timesheet Entry through making submission optionally asynchronous.

For more information, see:

Improvements to Handling of High Volumes in Timesheet Entry

We have added the ability to manage assignments through the Create From Assignments window in Timesheet Entry. This action enables you to create assignments and log time without navigating away, speeding up the process of entering time on timecards.

We have also added a Status column to the Timesheet Entry grid. A filter panel has been added to Timesheet Entry, additionally. This enables you to filter timecards by the status field, easily accessing information when working with high volumes of timecards.

Additionally, the Project Phase and Project Methodology fields are now supported by the filtering in Timesheet Entry. When these fields are present in the Timecard Header Custom Editable field set, only relevant records are selectable in the grid.

Timesheet Entry now displays Assignment and Milestone tabs in the Record Details panel additionally. These tabs enable you to view more information about the records associated with the timecard you are entering time for.

For more information, see:

One-Click Automation for Timesheet Creation in Timesheet Entry

We've added the Suggest Timecards button in Timesheet Entry to speed up the time entry process. Using the suggest timecards feature enables you to pre-populate your timecards according to your assignments for the current week.

To support this, the Hide Copying from Schedules Hours custom setting field, part of the Timecard Entry UI Personal custom setting, has been renamed to Disable Copying from Scheduled Hours.

For more information, see Using Timesheet Entry.

Supporting Assignment Milestones in Timesheet Entry

Timesheet Entry now supports assignment milestones. This enables users to only select from milestones assigned to their assignments, improving the accuracy and time entry experience.

For more information, see:

(Beta) Future Support for Dated Resource Rates

Warning:

The dated resource rates feature is Beta functionality in this release. Do not adopt it except in sandbox environments. Further development is required to deliver a fully functional solution.

Currently in PSA, when you create an assignment its bill rate is taken from the matched rate card and remains fixed for the assignment's entire duration. Even if the bill rate on the rate card changes, or new rate cards are created, the assignment uses the bill rate that was set from the outset. This means that if an assignment spans multiple years, its bill rate does not change over time. If the resource working on the assignment receives an annual salary increase, your margin reduces because the bill rate remains unchanged. To work around this, you might currently be creating a new assignment and rate card each time the bill rate needs to change.

With dated resource bill rates, an assignment's bill rate will continuously update in sync with rate changes on its linked bill rate card. So if an assignment spans multiple years and a new bill rate is introduced during the second year, the assignment will automatically start using the new bill rate from the date it becomes effective.

For example, imagine that a rate card has a dated resource bill rate of 100 effective from January 1, then from July 1 the rate increases to 120. An assignment that spans June - July will use a bill rate of 100 in June, and a bill rate of 120 from July 1. Timecards logged against the assignment for June will be billed at 100, and timecards logged against the assignment for July will be billed at 120. EVAs generated for the assignment and its timecards will be calculated using the bill rates that are in effect during each time period.

In addition to using dated resource bill rates with assignments, you can use them with resource requests. When a resource request's Bill Rate Card field is populated, the requested billable amount is calculated using the dated resource bill rates and is written to the Dated Request Billable Amount field.

A rate card with dated resource cost rates can also be linked to a resource request.

For more information about dated resource rates, see (Beta) Dated Resource Rates Overview.

Rate Card Matching When Using Dated Resource Rates

On creation of resource requests and assignments, automatic matching of rate cards with dated resource rates happens if the following checkboxes are selected:

  • On resource requests:

    • The (Beta) Use Dated Resource Bill Rates checkbox must be selected to use dated bill rates.
    • The (Beta) Use Dated Resource Cost Rates checkbox must be selected to use dated cost rates.
  • On assignments:

    • The Use Dated Resource Bill Rates checkbox must be selected to use dated bill rates.

The record's Bill Rate Card or Cost Rate Card field will be populated automatically if a matching rate card is found. For more information, see (Beta) Rate Card Matching When Using Dated Resource Rates.

A global API has been created to perform rate card matching synchronously on resource requests and assignments. For information about the RateCardMatchingService, see the PSA Apex API Developer Reference in the Certinia Technical Pack.

(Beta) Introducing the Services Forecast Datasets for Analytics

This section outlines two new Services Forecast datasets for Analytics that are available.

Warning:

Services Forecasting is Beta functionality in this release. Further development is required to deliver a fully functional solution. Contact Certinia Support.

Revenue Forecasting is unaffected and continues to work in the same way as before.

Services Forecast Live Dataset

The Services Forecast Live dataset contains the most recent revenue, cost, and margin forecast data generated. It is sent to Analytics from your Services Forecasting records in PSA. This dataset enables you to perform a more in-depth analysis of your expected costs and revenue.

You can set up a schedule to update the dataset at regular intervals or run updates on demand.

For more information, see:

Services Forecast Plans Dataset

We've introduced the Services Forecast Plans dataset, which contains data sent to Analytics from your services forecast plans in WorkGrid. The dataset can be combined with the Services Forecast Live dataset to create the Services Forecast Reporting dataset in Analytics.

The Services Forecast Plans dataset must be manually created from the PSA Administration page or a revenue forecast setup record.

For more information, see:

Group Cost Forecasts by Resource

You can now see how much is being spent on each resource on a project if you select Group Cost Forecasts by Resource on the active revenue forecast setup record. For more information, see Grouping Cost Forecasts by Resource.

Note:

Cost Forecasting is currently available for use in a limited capacity but is not supported by any existing user interfaces. You can, however, use cost forecast and cost forecast type records in your own custom reports, if required.

(Beta) Include Services Credits in Services Forecasting

To forecast all revenue streams related to your services business, you can now select Include Services Credits on the active revenue forecast setup record. This includes data for services credits related to accounts in your revenue forecasts.

Warning:

Services Forecasting is Beta functionality in this release. Further development is required to deliver a fully functional solution. Contact Certinia Support.

If there are any accounts that you do not want to include in your forecasts, you can configure the Exclude from Forecast Account Field setting on the revenue forecast setup record. This allows you to specify a checkbox field on an account record that, if selected, excludes the record from any forecasts. For more information, see Revenue Forecast Setup Fields and Including Services Credits in Services Forecasts.

You can run an account revenue forecast from an account record page. For more information, see Running Account Revenue Forecasts.

Services Credits APIs and Flows

You can now use APIs and flows to manage services credits.

Manage Services Credits via APIs

We have added the following APIs to enable you to manage services credits for multiple records:

  • ServicesCreditsService.allocateCreditsForMilestones
  • ServicesCreditsService.expireCreditsForPurchase
  • ServicesCreditsService.adjustCreditsForMilestones
  • ServicesCreditsService.manuallyAllocateCreditsForMilestones

By using these APIs, you can allocate services credits for approximately 500 milestones, adjust allocated services credits for approximately 1000 milestones, expire approximately 1000 services credits purchase records, and manually allocate approximately 500 services credits.

For more information, see the Permission Sets and Other Technical Documentation.

Allocate and Expire Services Credits via Flows

We have created the following actions which you can build into Salesforce flows to automate the allocation and expiry of services credits:

  • ServiceCrdtsServiceActionAllocCredsForMS
  • ServiceCreditsServcActionExpirePurchases

For more information, see Services Credits Apex Actions.

Manual Allocation of Services Credits

In the previous release, the allocation of credits was handled by an automated process. You now have the option to either run the automated process or perform a manual allocation.

The manual allocation allows you to select the services credits customer purchase records that you want to use for drawing credits. This gives you the flexibility to assign specific credits to specific milestones.

In addition, the manual process lets you select future-dated services credits customer purchase records, allowing you to plan projects in advance.

The manual allocation of credits is not enabled by default.

For more information, see:

Bulk Expiry of Services Credits

You can now expire services credits in bulk, reducing the time and effort required to expire individual records.

Schedule or Run Bulk Expiry of Services Credits

We have added a Bulk Expiry Lightning action in the Services Credits section on the PSA Administration Lightning page. Use this action to run the bulk expiry process immediately, or to schedule the process to run at regular intervals. When scheduling the process, you can set the start time and frequency.

For more information, see PSA Administration.

Services Credits Grace Period

We have introduced a Grace Period field in the Services Credits Settings custom setting. The grace period prevents the expiry process of credits on the expiry date.

The credits once expired cannot be made available again. So, the grace period gives you the flexibility and additional time to decide whether the expiry date needs extending or not.

For more information, see Services Credits Settings.

Custom Permissions for Services Credits

We have added the following custom permissions to help you control who can allocate, adjust, or expire services credits:

  • PSA - Services Credits - Allocate
  • PSA - Services Credits - Adjust
  • PSA - Services Credits - Expire

We recommend that you update your permission sets manually if you have cloned the packaged permission sets or created your own custom permission sets.

For more information, see Services Credits Permission Sets and Sharing Considerations.

Enhancements to Data Security

We've added a new Bypass Resource Skills View Restriction field to Permission Controls, which bypasses the Resource Skills View Restriction in the PS Cloud Analytics Setup record, enabling users to view the skills of all resources in the Resource Skills dataset.

We've also renamed the View All Utilization field in Permission Controls to Bypass Utilization Results Security Mode, to better reflect its action.

For more information, see Permission Control Fields.

Enhancements to Smart Rescheduling

You can now export information in the summary cards and Rescheduling to Match Capacity Run Rate grid to a CSV file to share the suggested adjustments with others. For example, to get approval for the suggested adjustments from internal or external stakeholders before applying them to the Record Work Planner.

We've added Predicted Impact on Margin and Remaining Budget After Adjustments summary cards to the Suggested Adjustments window in Smart Rescheduling. These new cards give project managers at-a-glance insight into the impact of the suggested hours adjustments of the selected resources and assignments on the project's margin and budget.

We've also added the following new columns to the Rescheduling to Match Capacity Run Rate grid in the Suggested Adjustments window:

  • Average Adjustment per Week, which displays the recommended average increase or decrease in hours per week at assignment level only.
  • Adjustment End Date, which displays the last day of work on the project at assignment level only. By default, this value is the end date of the assignment, but you can update it to a date between the start of the following week and the end of the assignment, if required.
  • Scheduled Hours After Adjustment, which displays the recommended increase or decrease in hours required to match the current capacity run rate at resource and assignment level.

These new columns enable project managers to view the impact of suggested adjustments on the future scheduled hours of resources and assignments on a weekly basis.

You can now also edit suggested adjustments at assignment level only in the Rescheduling to Match Capacity Run Rate grid, to reduce or increase the number of suggested hours. This enables you to account for budget or resource availability constraints, if required.

For more information, see Smart Rescheduling Overview and Suggested Adjustments Window Fields.

Enhancements to Unbilled Revenue Adjustment Report

Previously, we updated the PSA dataset and created a draft Extended Planning and Analysis report that gave an overview of the necessary adjustments. This report was not released as it had rounding errors. To overcome this, we have added numeric equivalents for fields to track billed amounts and prevent rounding issues in currency fields.

We have added the following fields to the Milestone, Timecard Split, and Miscellaneous Adjustment objects, respectively. This enables you to use them in the PS Cloud Core Analytics App PSA Analytics Dataflow to get accurate values without facing any rounding issues.

  • Duplicate Milestone Amount
  • Duplicate Total Billable Amount
  • Duplicate Amount

Additionally, we have updated the PSA Analytics Integration User Read Access permission set to enable you to access these fields.

For more information, see:

Delete App Logs by Date and Schedule the App Log Cleanup Job to Run Periodically

We have introduced the following enhancements to the App Log Cleanup Job accessible from the Batch Processes section of the PSA Administration tab.

Date-Based App Log Deletion

You can now delete app logs based on a specific date. The App Log Cleanup Job window includes a new field called Delete Logs Created On or Before. Use this field to enter the date from which you want to delete app logs. The job will delete all logs created on or before the specified date. This enhancement provides greater control over the existing app log deletion process, enabling you to choose which logs to retain. For more information see, Deleting App Logs Immediately.

Scheduled App Log Cleanup

In addition to the existing option to run an app log cleanup job immediately, you can now schedule the job to run periodically. We have added a new Schedule App Log Cleanup Job link to the Batch Processes section of the PSA Administration tab. This link opens a window to schedule the job. This automation of the app log cleanup process saves time and promotes regular app log maintenance. For more information, see, Scheduling the App Log Deletion.

Organization-Wide Email Address

You can control the email address that PSA uses when sending emails from background processes for the following features.

  • Actuals
  • Assigning or Holding Resources
  • Estimates Versus Actuals Calculation
  • Project Variance
  • Services Billing

The email address you intend to use must be a verified email address listed on Salesforce's Organization-Wide Email Addresses page. This email address must be configured so that any profile can use it.

Enter the email address in the Organization-Wide Email Address field in the FDN Background Processing Settings custom setting. Other Certinia applications might also use the email address in this field.

If the Organization-Wide Email Address field is not populated, emails are sent from the email address of the user who ran the process.

Resource Settings week-start-monday Configuration Option

The week-start-monday configuration option is now enabled automatically. Previously, administrators were required to manually import this configuration option. For more information, see Resource Settings.

Accessibility Issues Fixes on Resource Management Area

We've renamed the following buttons in the Resource Management Lightning components to comply with accessibility standards:

  • Add Resource Requests to Add
  • Add Assignments to Add
  • Add Milestones to Add
  • Add Tasks to Add
  • Add Records to Add
  • Create Project to Create
  • Set as Default to Save as Default

For more information, see:

Deprecated Features and Functionality

Deprecation: Ability to Bill a Budget's Pre-Bill Amount

The following information was first published in Summer 2024.

The ability to generate an invoice directly from a budget record will be deprecated in a future release. The feature was intended to represent a pre-bill or deposit but its functionality is limited. Instead milestones or miscellaneous adjustments are typically used to represent deposits.

See Upgrading to PSA Spring 2025 for a list of fields that we recommend you do not use because they will be deprecated in a future release.

Deprecation: updateTimecardRollupsAsync Method in AssignmentService and MilestoneService APIs

We have deprecated the updateTimecardRollupsAsync method from the AssignmentService and MilestoneService APIs originally intended to recalculate fields on Assignments or Milestones whose values are calculated from Timecards linked to the assignment or milestone. It is now replaced with updateTimecardRollupsAsyncAPI.

We recommend you do not use this method as it will be removed in a future release.

For more information, see the Certinia Technical Pack.

Deprecated Synchronous Update Required Field From Expense and Timecard Split Objects

We have deprecated the Synchronous Update Required field from the Expense and Timecard objects because this field is no longer in used. For more information, see Deprecated Elements.

Deprecation of Resource Planner, Project Planner, and Team Schedule Planner

The Resource Planner, Project Planner, and Team Schedule Planner have been deprecated in Spring 2025 and will be removed in a future release. We recommend you migrate to Work Planner, which covers many of the same workflows as the Resource Planner, Project Planner, and Team Schedule Planner, and offers the following additional features:

  • A scheduler to give you a clear, visual overview of upcoming work.
  • Enhanced support for resource requests.
  • More options for filtering and grouping work.
  • A panel that enables you to view additional details, such as logged hours and project tasks, without leaving the current page.
  • Continuous updates in future releases.

For more information, see:

Deprecation of Resource Optimizer Panel Lightning Component

We have deprecated the Resource Optimizer Panel Lightning component. Instead, you can view the resource details from the Resource Details panel in the Resource Optimizer component on the Resource Optimizer page. We recommend that you do not use the Resource Optimizer Panel component as it will be removed in a future release.

For more information, see Deprecated Elements.

Deprecation of the Time Entry Page

The Time Entry page has been deprecated in Spring 2025 and will be removed in a future release. We recommend you migrate to Timesheet Entry, which covers many of the same functionality as the Time Entry page, and offers the following additional features:

  • The Suggest Timecards button, enabling automated timecard creation from current assignments.
  • Enhanced visibility of task times and accompanying project task information.
  • More detailed information about projects, assignments, milestones, and project tasks when entering time.

For more information, see:

Release Content

We want to help you find all of the information and resources that you need to use our products effectively.

In-App Guidance

Certinia in-app guidance uses Salesforce user engagement features to deliver Certinia content, such as tutorials and walkthroughs, directly from our products.

In this release, we've updated our in-app guidance. For more information, see PSA In-App Guidance.

Certinia Academy

If you want to learn more about the new features in this release, see the PS Cloud - Spring 2025 Release Highlights Certinia Academy module. This module will guide you through the new features in PS Cloud.

Fixes

Fixes are listed on the Known Issues page of the Certinia Community. You can access this page from the Community Support Hub. For a brief description of the issues that have been fixed in this version of PSA, see the relevant section of the Known Issues page.