New Features and Enhancements in PSA Winter 2025

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

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

Convert Daily Schedules to Weekly Schedules via API

We have added a new ScheduleResourceService API. This API allows you to generate weekly scheduled hours for different schedules.

  • If no week start day is specified, PSA uses the default value from the Week Start Day field in the Common Settings custom setting.
  • If no value is specified, "MONDAY" is used as the default start day.
  • If no date range is specified, the API retrieves the weekly hour details for the entire range of schedules.
  • If you provide a date range, the API only retrieves weekly hour details for schedules that overlap with that range.
  • The response includes an error message to indicate that the schedules outside the specified date range are included in the response with an error message.
  • If the schedule range exceeds the batch size or the transaction limit, then these schedules are displayed in the remaining schedules field.

For more information, see Certinia Technical Pack.

Enhancements to Work Planner

We have made several improvements to the Work Planner to improve the user experience.

Restricting Editing of Schedules in Past Date

We have introduced a new Restrict Edit Schedules in Past Date Lightning component property. The property enables you to prevent schedule editing for assignments or resource requests for a date in the past. It also ensures that the data in the allocation and scheduler views of the Work Planner is not modified.

For more information, see:

Customizing Columns in Work Planner

You can now display additional fields with the default fields when you group the records by resource or project. These additional fields are displayed in the allocation view of the Work Planner.

We have added Resource Custom Column Field Set and Project Custom Column Field Set Lightning component properties. These properties enable you to select a field set for additional custom fields.

You can add the fields in the field set and select the field set from the Resource and Project Custom Column Field Set list. These fields include relationship fields to the first level of the hierarchy, support sorting, and retain column width.

For more information, see:

Separating Swap and Split Buttons for Assignments and Resource Requests

We have separated the swap and split buttons for assignments and resource requests. This is helpful because it guides you to separate windows and populates necessary fields to perform swap and split actions.

You can perform actions separately in both the allocation and scheduler views so that you can swap and split records.

For more information, see:

Splitting an Assignment to a New Resource Request

We have introduced a new feature that enables you to split an assignment to a draft resource request. This feature is useful because it eases your task when there is a resource transitioning in the project.

For example, when an existing resource leaves and a new resource joins, during this transition, you can create a draft resource request. You can assign requested hours for the new resource. The schedule for the selected assignment ends one day before the start date of the new resource request.

You can create a new schedule based on the existing schedule. You can clone the requested skills, if a resource request is associated with the assignment. Additionally, we have updated the existing permission set to enable you to perform swap and split actions.

For more information, see:

Exclude from Planners and Configurable Types of Work Colors for Work Planner

You can now customize color bars for assignments and resource requests in Work Planner. This enables you to set categories according to the type of assignment or resource request. Color bars are displayed in the Allocation view on the Work Planner page. You can view the mapping of configured colors in the Types of Work Colors section in the Preferences panel.

We have also added the Exclude from Planners feature, which prevents specific assignments, resources, and resource requests displaying on the Work Planner page. In addition, we have implemented the Clear button on the Work Planner filter panel. Clicking Clear removes all data in the Work Planner and clears all filter panel fields except the Start Date and End Date fields.

These features improve the visual clarity of the data displayed in Work Planners, which enables you to make resourcing decisions more efficiently.

For more information, see:

Copying Schedule Values for Assignments and Resource Requests

You can now drag cells to extend or shorten schedules of assignments and resource requests in Work Planner and on the Resource Request record page. This feature enables you to copy multiple cell values simultaneously, which speeds up the process of updating schedules associated with assignments and resource requests.

For more information, see:

Record Work Planner to Replace Project Team Schedule

The Project Team Schedule has been deprecated in Winter 2025 and will be removed in a future release. We recommend that you migrate to the Record Work Planner, which covers many of the same workflows as the Project Team Schedule and will continue to be updated in future releases.

The Record Work Planner delivers many of the same features as other work planners, and offers additional tailored features for working with projects. Only the relevant filter criteria for the related project are displayed in the filter panel. You can also match the start and end dates with the project’s start and end dates, and show other work that resources are assigned to.

For more information, see Using Work Planners.

Improved Self-Nomination for Resource Requests

We have improved the self-nomination process for resources removing their interest in work that they previously nominated themselves for in the Work Opportunities Hub. This enhancement provides more visibility of the reasons a candidate has changed their mind for specific resource requests. This is useful when considering future work for that candidate.

To support this feature, we have added the following:

  • A Retain Candidate Record field on the Work Opportunities Hub custom setting. When this is selected, the candidate record of any candidate who has removed their interest in a resource request is retained rather than deleted. Their details can then be reused if they change their mind and mark themselves as interested in the resource request again.
  • An Interest Removed checkbox on the candidate's record, which is selected automatically when the candidate removes their interest in the resource request.

For more information, see:

Improved Candidate Shortlisting for Resource Requests

We have added the ability for resource managers to view other work, and the schedules for that work, that candidates are shortlisted for. This enables resource managers to adjust their selections and have early staffing conversations with their project managers. It also reduces wasted time that project and resource managers might spend considering unavailable candidates . You can now also edit the status of a shortlist that a resource has been added to.

In the Allocation view, you can now view the details of any resource's assignments, held resource requests, and shortlisted resource requests in a popup panel. In Scheduler view, you can view the details of assignments and resource requests in a popup panel.

To support this feature, we have:

  • Added details of other work that candidates have been shortlisted for, together with the schedules for that work.
  • Added editable fields in the Shortlist Status column. You can edit this field for multiple resources simultaneously.
  • Renamed the Hover Details Field Set for Assignments Lightning App Builder property to View Details Field Set for Assignments and the Hover Details Field Set for Resource Requests to View Details Field Set for Assignments.
  • Added a Lightning App Builder property Exclude Shortlist Statuses on the PSA Resourcing component that enables you to exclude resource requests with specific statuses in the Other Shortlists section.

  • Added a View Details option to the contextual menu on assignments and resource requests that opens a popup panel within the Allocation and Scheduler views. You can close the panel by:

    • Clicking Close.
    • Clicking outside the panel.
    • Pressing the Tab key.
    • Pressing the Esc key.

We have added more security to the Manage Shortlist window by not displaying the Notes and Created By fields by default. If you need access to these fields, you need to add them to a field set for users with permissions to use them.

For more information, see:

Switching Filter Buttons in the Resource Request Filters Panel

We have modified the visibility of the Apply, Clear, and Reset filter buttons on the Filters panel of the Resource Request record page. When you reload this page, the Clear button is available to remove the existing filters except the Start and End Date fields. You can restore the filter values using the Reset button. When you change the filter values, the Apply, Clear, and Reset buttons are available. This helps you to easily navigate to the next actions to take when filtering the resource requests records.

For more information, see:

Utilization Engine Improvements

We have enhanced the performance of our utilization engine to improve availability calculation and help in resource planning and management.

Creating Utilization Engine Records with New Resources

Previously, when you created resources, the utilization engine records were not created. Now, when you create a new resource, the utilization engine records are automatically created. The utilization engine records are only created if the resource is active and has a work calendar associated with it.

Note: To create the utilization engine records, ensure that the Exclude from Time Calculations field on the Contact object is deselected.

For more information, see:

Enhancements to the Resourcing Tab

You can now sort the Rank, Shortlist Status, and Availability columns in the Resourcing tab of a resource request. This enables you to prioritize resources based on key criteria when staffing a resource request. For more information, see Managing Resource Requests.

Improved Filtering in Resource Optimizer

Additional fields can now be added to the Filters panel in Resource Optimizer, enabling you to filter with greater granularity. An administrator can add these using a field set. For more information, see Using Resource Optimizer and Resource Optimizer Lightning Component Properties.

Removal of Support of Off-Platform Use for Intelligent Staffing and Resource Optimizer

We no longer support off-platform resource matching tools. Consequently, we have deprecated and removed several items originally intended for the off-platform use of Intelligent Staffing and Resource Optimizer.

Field Mappings for Resource Matching

The PSA Administration tab now includes a Resourcing Match Mappings link, which opens a page that enables you to map resource request fields to contact fields. These mappings are only used when filtering resources using the Resourcing tab on a resource request. By setting up these mappings, the fields from the resource request are automatically populated in the Filters panel. For more information, see PSA Administration.

Enhancement to Resource Filtering by Distance

We have increased the character limit of the Work State/Province (PSA) field from 20 to 64 characters. This enables you to enter states or provinces with longer names. Thanks to this enhancement, you can now define work addresses in such states or provinces to filter resources based on their proximity to the work location.

For more information, see:

Skill Suggestions for Resource Requests

When creating a resource request using the Create Resource Request action on a project or opportunity, skill suggestions can now be displayed. These suggestions are based on the role, region, practice, and group specified in the resource request, and their alignment with skills from past assignments that share the same attributes. This data is generated by the Resourcing Adjacencies dataset in PS Cloud Core Analytics. For more information about adding suggested skills to a resource request, see Setting up Suggested Skills for Resource Requests and Creating Resource Requests.

Adding Skill and Certification Ratings

When adding skills, certification, and category ratings using Mass Manage Resource Skills or Skills and Certifications, you can now edit the selected records in bulk. Additionally, the number of skills and certifications within each category is now displayed next to the category name in the Skills section. An administrator can disable categories, meaning that only the skills and certifications within selected categories will be added to the Selected Skills and Certifications grid, not the categories themselves.

If you do not have the necessary permission controls, the option to select another resource when managing skills, certifications, or experience will not be visible. The View Experience button in the Resource Details panel of the Resourcing tab on a resource request also will not open the Manage Skills and Certifications window. For more information about permission requirements, see Setting up the Manage Skills and Certifications Lightning Component.

For more information about managing skill and certification ratings, see Managing Skills, Certifications, and Experience for Resources, Mass Managing Skills and Certifications for Resources, and Skills Management Settings.

Rescheduling Project Tasks from Gantt on a Project Record

Previously, you could only view records from Gantt on a project record. Now, you can edit records by default. If required, an administrator can prevent all users from editing records from Gantt on a project record by selecting Disable Editing in the Properties panel for the Project Gantt component in the Lightning App Builder.

Warning:

This feature only prevents users from editing records through Gantt on a project record and has nothing to do with record sharing, permissions, or field level security. If users have the appropriate access, they might potentially edit a record in another way in PSA or in PSA Experience Cloud sites.

You can now change the start and end dates of project tasks in the following ways:

  • By dragging and dropping a child task bar horizontally on the Gantt chart, keeping the length of the task the same.
  • By dragging the right edge of a child task bar horizontally to a different end date on the Gantt chart, extending or contracting its length. To change the start date of a child task, drag it to your chosen start date first, then drag the right edge of the task horizontally and release it when it reaches the required end date.
  • By changing the dates displayed in the Start Date and End Date columns on the corresponding child task's row in the Gantt grid.

For more information, see Changing Start and End Dates on Project Tasks.

Using the Custom Columns Field Set component property in the Lightning App Builder, an administrator can now add the Work Calendar column to the Gantt grid. This means you can view and edit the work calendar that is associated with a project task from Gantt on a project record. For more information, see Editing the Work Calendar on a Project Task.

Editing Text Fields on Project Tasks from Gantt on a Project Record

From Gantt on a project record, you can now edit text fields on project tasks. The following icons are displayed when you hover over a cell in the Gantt grid:

Edit - indicates a cell you can edit

Locked - indicates a cell you cannot edit

On editing, unsaved changes are highlighted and any related details are updated. This means you can review the impact of your changes before saving, which leads to better decision making. For more information, see Editing Text on Project Tasks.

Note:

Double-clicking a project task from Gantt on a project record no longer displays the Record Details panel. Now, if you double-click a cell in the Name column, you can edit the task name.

In the Gantt grid, an Warning: over allocated resources icon is displayed in a row containing a project task with resources assigned who are over allocated during that task. Previously, if you hovered over the Warning: over allocated resources icon, a tooltip listed the over allocated resources. Now, you must click the Warning: over allocated resources icon to view details of the over allocated resources.

If any errors occur when saving changes, Error is displayed on the affected rows. To view details of the errors, click Error. Errors take precedence over any over allocation warnings, therefore if Error is displayed, there might still be over allocated resources on that same row. If this is the case, the Warning: over allocated resources icon becomes visible when you resolve the error.

Moving Grid Columns to Locked in Gantt on a Project Record

You can now ensure that key columns in the Gantt grid always remain in view while you are reviewing information in other columns or viewing the Gantt chart. To do this, you can move columns to a locked position in the left part of the grid.

For more information, see Managing Columns in the Gantt Grid.

Filters for Gantt on a Project Record

You can now filter project tasks from Gantt on a project record. The filter panel enables you to:

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

The visibility of the Apply, Clear and Reset filter buttons now changes, based on the actions performed in the filter panel in Gantt on a project record.

The Resource Role and External Resource fields are now available for multi-selection. In the Resource Role field, you can select multiple resource roles to filter by. In the External Resource Field, you can select multiple external resources attached to the current project's Project Task Assignments when filtering.

You can also now filter by the date for date time fields in the filter panel for Gantt on a Project Record.

Gantt on a project record's filtering capabilities have also been updated to match the filters available on Project Task Board.

The following filters are now available:

  • Tasks Starting Before
  • Tasks Ending After
  • Task Involvement
  • Task Timeline

For more information, see:

Actuals Performance Improvements

The following are the new features and improvements that have been implemented in PSA Actuals in Winter 2025.

Actuals Calculation for Reorganized Projects

Previously, we added a queueable job to generate transaction deltas for reorganized projects to be processed by the ProjectActualsCalculateDeltaContinuous job. This job updates the actuals for both old and new parent projects when changes are made to a project hierarchy in the Continuous mode.

We have made improvements to speed up calculating actual project costs when updating a project hierarchy by using existing project actuals records without creating new transaction deltas. This improvement applies if the new project hierarchies use the same currency as the updated project. When you change the parent of a project, the ProjectActualsCalculateDeltaContinuous job automatically pauses before updating the actuals and resumes after the update.

For more information, see:

Services Billing Improvements

We have introduced the following in Services Billing feature:

  • Improved Services Billing accuracy by removing the existing count limit of 1999 on the number of billable budgets, expenses, milestones, miscellaneous adjustments, and timecards on projects.
  • Added the Max_Records_For_Generate_Account_And_Project_Billing configuration option in the Billing Setting to limit the maximum number of billing-eligible records to generate billing events from the account and project billing Lightning Components.

For more information, see:

Improvement to PSA Performance and Scalability

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

Receiving EVA Asynchronous Process Error Notification Emails

We have added a new EVA Error Notification Email field in the Async Job Notification Settings custom setting to enable receipt of the EVA asynchronous process error notifications through email. This helps you to be notified when an Estimates Versus Actuals records (EVAs) asynchronous process fails. You can now specify an email address or a group email address in the EVA Error Notification Email field added in this custom setting.

For more information, see Async Job Notification Settings.

Closing Multiple Assignments

We have improved the mass close assignment process to handle a larger volume of data, allowing you to close more assignments simultaneously.

For more information, see Closing Assignments and Setting Zero-Hour Schedules.

Calculating Hours Variance on Projects

We have added a new Exclude Inactive Projects custom setting field in the Project Variance Settings custom setting to exclude inactive projects from the hours variance calculation and to support quicker calculations.

In addition, we have also made the following updates to the Project Variance feature:

  • Updated Project Variance Calculation from Batch process to Async Job process.
  • Included ProjectVarianceCallable and ProjectVarianceLauncherCallable asynchronous jobs for the Project Variance Calculation process on the Project Variance Lightning and Visualforce pages.
  • Improved performance by excluding inactive projects. If you want to calculate variance for inactive projects, you can deselect the Exclude Inactive Projects custom setting in the Project Variance Setting. To mark a project as inactive and exclude it from the variance calculation process, deselect the Active field in the Project object. For more information, see Create Project Fields.
  • We have moved Project Variance Calculation option in a new Asynchronous Process section on the PSA Administration tab.
  • Renamed the Submit Batch and Schedule Batch buttons to Run and Schedule buttons, respectively, on the Project Variance Visualforce pages.

For more information, see:

New Configuration Options to Manage Region and Group Records Asynchronously

We have added the following new configuration options in the ASM Triggers configuration group to enable updating Region and Group records asynchronously to support orgs with a large number of respective records.

  • handleRegionTrigger.SetRegionChainAsync
  • handleGroupTrigger.SetGroupChainAsync

For more information, see Trigger Settings.

Improved Intelligent Staffing Performance

We have improved the performance of the Resource Search Service (RSS) to consider a higher number of resources for matching and return the best matching results more quickly.

For more information, see Intelligent Staffing for a Resource Request.

Update to Rate Cards Matching

We have now provided support for rate card matching to run asynchronously, increasing the rate cards limits that can be matched with assignments and resource requests successfully. A new Rate Card Settings custom setting is added that allows you to configure the PSA rate card matching usage.

For more information, see Rate Card Settings.

Enhancements to Manage Resources on Project Task

We have improved the Grid in the Manage Resources on Project Task window. This allows users to view totals for the following columns:

  • Actual Cost
  • Actual Hours
  • Allocation Hours
  • Allocation Percentage
  • Estimated Cost

This helps in understanding the tasks in relation to the budget and time. You can select the assignment which automatically populates the Start Date and End Date fields. You can also update the allocation hours which automatically calculates the value in the Allocation Percentage field for the assigned resource.

For more information, see Managing Resources Assigned to a Project Task.

Enhancements to Project Task Board

The Preferences panel. You can access this panel by clicking Show Preferences Panel in the toolbar. To support the Preferences panel, we have added a Lightning component property, Show Preference Panel. This is selected by default and displays Show Preferences Panel in the toolbar of the Project Task Board. Within the Preferences pane:

  • You can use the Group By dropdown to select from the options to group the tasks by. Following are the options available in this dropdown:

    • Milestone: When you select this, tasks associated with a Milestone are grouped under the section with the name of that Milestone. The tasks which are not associated with any Milestone are grouped under the section named Task Without Milestones. The tasks in the swimlanes for Milestones are sorted by target dates.
    • Priority: When you select it, the task board creates swimlanes based on priority and orders the tasks with their priority status. You can change the task priority level in the record details based on business needs. The tasks associated with the Priority are grouped under the sections named P1, P2, P3, P4, and P5, and tasks not associated with any Priority are grouped under the section named Task Without Priorities.
    • Project: When you select it, tasks associated with a project are grouped under the section with the name of that project. The projects in the sections are sorted alphabetically on the task board. This allows you to clearly view your tasks’ statuses. This option is only available when you are on the workspace app page.
    • Timeline: When you select it, the tasks are ordered according to their end dates. The tasks are grouped into the Overdue, Due Today, Due in Next 7 Days, Due in Next 30 Days, Due Later Than 30 Days and Tasks without End Date sections in swimlanes.

Configuring Columns on the Project Task Board

To enhance the Project Task Board, we have added a Hide Columns option to the Preferences panel. This option enables you to hide information you do not want to see on the Project Task Board. The available options in the Hide Columns drop-down are: Draft, Planned, Started, Blocked, Complete, and Deferred.

For more information, see

Viewing Milestones on Project Tasks

The Milestone tab is now displayed in the Show Record Details panel on the following components:

  • Gantt on a Project Record
  • Project Task Board

For more information, see:

Improvements to PSA Triggers

We have improved the PSA performance by modifying the trigger code.

PSA Asynchronous Process

We are redesigning the Certinia PSA architecture to handle asynchronous jobs.

From the Spring 2024 release, we started introducing a series of Callable jobs in multiple features within PSA and planned to redesign the remaining features over successive releases. The Callable Apex enables you to use a common interface to build loosely coupled integrations between Apex classes or triggers, even for code in separate packages. For more information about the callable apex, see the Callable Interface in the Salesforce Help.

In this release, the following Callable Apexes are added to ensure the callables run in a separate queueable:

  • ExpenseRollupCallable
  • GroupChainUpdateCallable
  • GroupChainUpdateChildCallable
  • PracticeChainUpdateChildCallable
  • ProjectActualsDeltaRecalculationCallable
  • ProjActSameCurrencyRecalcCallable
  • RegionChainUpdateCallable
  • RegionChainUpdateChildCallable
  • TimecardChangeCallable
  • TimecardRollupCallable

For detailed information on Callable Apex, see PSA Asynchronous Callables.

Copying Child Records from Template

Prior to this release, for copying a large number of child records asynchronously, you had to select the Copy Child Records from Template Async checkbox on the new project.

Now, you can select the Copy Child Records from Template Async checkbox either on the template project or on the new project, if:

  • You select the checkbox either from the new project or the template, the child records copy asynchronously.
  • You select the checkbox from both the new project and the template, and the child records copy asynchronously.
  • You deselect the checkbox from both the new project and the template, and the child records copy synchronously.
Note:

These changes only apply to the Create Project From Template Visualforce page. The Create Project From Template Lightning page always copies the records asynchronously.

For more information, see:

Improvements to Schedule Updates

Previously, when you updated schedules or performed an action that updated schedules, the operation could be performed either asynchronously or synchronously, depending on the action that triggered the update.

Now, the update always runs asynchronously regardless of the triggering action, and an Update Schedules Callable Async Job Record is created for each update.

Note:

If you have written any custom code that is executed on schedule updates, ensure that it is working as desired with asynchronous mode.

Introduction to Services Credits

Your customers can purchase services credits towards a variety of packaged or custom services. They can redeem those services credits either immediately or at a future date as required before the services credits expire.

To use this feature:

  • A services credits customer purchase record is created for the number of services credits purchased by the customer. Each record represents a bundle of services credits that have the same start and expiry dates, internal value per credit, and amount paid per credit. The start date and expiry date define the date range during which services credits are valid and can be redeemed.
  • Your customer decides to use a certain number of services credits and redeem them against specific pieces of work. To do this, you must first assign services credits to the milestone and then allocate.
  • The services credits adjustment process enables you to update the number of services credits allocated to a milestone. This can be useful if the milestone's scope of work changes.
  • If services credits are not redeemed by their expiry date, they can be expired or their expiry date can be extended so that the customer has more time to redeem them.

PSA generates services credits allocation records to keep track of the allocation of credits to milestones, and services credits consumption records to keep track of the number of credits on services credits customer purchase records that have been redeemed or expired. These records are read-only and cannot be created or edited manually. They are automatically generated as a result of the allocation, allocation adjustment and expiry processes.

Note:

By default, a milestone with the status "None", "Planned", or "Canceled" can be assigned services credits and saved without services credits needing to be allocated to it. This is controlled by the Milestone Status: No Allocation Required field in the Services Credits Settings custom setting.

For more information, see:

Timesheet Entry Enhancements

We have enhanced the Timesheet Entry grid through the following new features:

  • Any changes made, such as changing column widths or layouts, are now retained each time you use the grid on the same computer and using the same browser.
  • Non-working days are now indicated by cell shading.
  • Bank Holidays are now indicated by blue cell shading.
  • The Project and Assignment columns have been merged into a new Work column to simplify the view. The record types are now indicated by icons:
    • Global Project indicates a global project.
    • Assignment indicates an assignment.
  • You can now create timecards from the weekly scheduled hours on your assignments.
  • You can now copy timecards from previous weeks.

Encryption is also available for the Contact object. When enabled, this changes the behavior of the Name field.

For more information, see:

Timesheet Entry - Logging Time Against Project Tasks

You can now record time against project tasks in Timesheet Entry. Recording time against project tasks enables you to enter more information on your timecards and ensure projects broken down by tasks have time and work accounted for accurately. This is possible through the addition of the Add Tasks window, accessed by clicking Add Tasks. This enables you to search for and filter project tasks to add to your timecard.

For more information, see:

Timesheet Entry - Delegated Time Entry

Delegated time entry is now available in Timesheet Entry through the addition of the Change Resource button. Clicking Change Resource opens the Change Resource window and enables you to select a new resource to enter time for. Delegated time entry speeds up the time management process by enabling users to enter time on behalf of other users, in scenarios where they are not able to.

For more information, see:

Timesheet Entry - Required Timecard Notes and Quick Entry

We have added the ability to quickly add daily notes, and there is now a visual indicator to show when notes are required. This streamlines the process of logging time, enabling you to record time more efficiently while ensuring daily notes are recorded accurately.

To quickly add notes, right-click the cell you have entered time for and click Add Notes.

For more information, see Using Timesheet Entry.

Timesheet Entry - Timecard Custom Fields

The Timesheet Entry grid now supports the use of custom fields. This enables you to enter additional information on your timecards, in-line with your organizational needs.

For more information, see:

Smart Rescheduling

Smart Rescheduling provides project managers with an overview of how they can reschedule resource's assignments to reflect the correct level of effort required to complete them successfully. It uses the actual hours that have been previously recorded on the project to calculate if the project's resources have used more or fewer hours than scheduled as a percentage of their total available hours. It then notifies you if any resource's future capacity percentage doesn't align with their historical percentage. It then provides a suggested adjustment to the future hours of those resources to match your current capacity run rate. You can view the suggested adjustments to your resource's hours on the project overall, or to their individual project assignments, and provisionally apply them to the Record Work Planner.

When viewing the Record Work Planner on a project record, Smart Rescheduling automatically notifies you of the predicted hours variance, expressed as a percentage, for the remaining duration of the project, from the start of the following week.

The Rescheduling to Match Capacity Run Rate grid in the Suggested Adjustments window provides you with a breakdown of the predicted variance and the suggested adjustments to future hours at resource and assignment level to enable you to match your current capacity run rate. It also displays a summary of how the suggested adjustments to assignment hours impact the project's hours, revenue, and costs. The values displayed in the summary cards are determined by the rows selected in the Rescheduling to Match Capacity Run Rate grid.

You can then apply suggested adjustments to the Record Work Planner to update the hours your resources are scheduled to work.

For more information, see:

Introducing Cost Forecasting

Cost Forecasting is part of a longer term initiative that we will build on in future releases. This includes providing a means to view Cost Forecasting records easily. Cost Forecasting can be used it in conjunction with Revenue Forecasting for an accurate profitability analysis, enabling more informed decisions about your business.

To use Cost Forecasting, you must select Enable Cost Forecasting on the active revenue forecast setup record.

When a cost forecast is run, if there is a related revenue forecast, the records are linked and values such as the margin are calculated. Related revenue forecasts are those in the same time period, with the same project and milestone, if applicable.

A Retain Pending Costs in Closed Periods setting is now available on the revenue forecast setup record. This enables you to retain approved costs from the previous cost forecast run for any closed time period when you are not using the integration between PSA and Revenue Management. It works in the same way as the existing Revenue Forecasting setting for retaining actuals in closed periods.

As part of the work on Cost Forecasting, a small change was made to Revenue Forecasting. For a miscellaneous adjustment record to be included in a revenue forecast, the value in the Transaction Category field must now match one of the following:

  • Pass-Through Ready-to-Bill Revenue
  • Pre-Billed Revenue
  • Ready-to-Bill Revenue
  • Revenue

For more information, see:

Enhanced Support for Unheld Resource Requests in Services Forecasting

To provide a more complete and accurate forecast, you can now include unheld resource requests in deliverable forecasts for both revenue and costs. To enable this, an administrator must select one or both of the following new options on the active revenue forecast setup record as required:

  • Include Unheld RRs with Schedules
  • Include Unheld RRs without Schedules

Revenue and costs for unheld resource requests with and without schedules are included in the Unscheduled Revenue field on the revenue forecast type record and in the Unscheduled Costs field on the cost forecast type record. For more information, see:

Revenue for unheld resource requests is now included in the Revenue Forecast Preview. For more information, see Previewing Revenue Forecasts.

Previously, one of the requirements for a milestone to be included in deliverable revenue forecasts was that the Exclude from Billing checkbox was deselected. Now, one of the requirements for a milestone to be included in deliverable revenue forecasts is if either Exclude from Billing is deselected or if services credits are allocated to the milestone. For more information, see:

Billing Event Optimization for Capped Budgets

If billing is capped at budget level, when you release a billing event that exceeds a budget cap PSA automatically takes the following steps to bill the budget's full amount:

  • Any whole billing event items that do not fit within the cap are moved to a new unreleased billing event.
  • A billing event item that partially fits within the cap is released in full and its related business record is marked as billed. To deal with the overage, PSA generates a negative miscellaneous adjustment for the overage amount and includes it for billing in the same billing event. PSA also generates a positive miscellaneous adjustment for the overage amount and includes it in a new unreleased billing event.

For example, Billing Event 1 is generated to bill three timecards with the values 7,000, 3,500, and 2,000. All three timecards are allocated to the same budget which has an amount of 10,000. When you release Billing Event 1:

  • Billing Event Item 1 for 7,000 is released in full because it does not exceed the budget amount of 10,000.
  • Billing Event Item 2 for 3,500 is released along with a miscellaneous adjustment for -500 to bring the total amount released down to the budget amount of 10,000. This negative miscellaneous adjustment is included for billing in Billing Event 1. An equal and opposite miscellaneous adjustment is created in a new unreleased billing event (Billing Event 2) for the overage amount that is not billed.
  • Billing Event Item 3 cannot be released because no budget amount remains. Therefore Billing Event 1 is split into two and Billing Event Item 3 is moved to the new unreleased billing event, Billing Event 2.

This is illustrated in the table below.

Billing Event After Release
Billing Event Billing Event Item Linked Business Record Amount Released
Billing Event 1 Billing Event Item 1 Timecard 1 7,000 Yes
Billing Event Item 2 Timecard 2 3,500 Yes
*Billing Event Item 4 *Miscellaneous Adjustment 1 -500 Yes
*Billing Event 2 *Billing Event Item 5 *Miscellaneous Adjustment 2 500 No
Billing Event Item 3 Timecard 3 2,000

No

* Indicates a record that is generated automatically as a result of billing event optimization.

Note:

PSA only performs this optimization if your org is set up as described in Applying a Billing Cap to Individual Budgets.

For more information, see Billing Event Optimization for Capped Budgets.

Security Checks

Warning:

The following are mandatory requirements and must be carried out after installation of the PSA Winter 2025 package.

From Winter 2025, a large number of CRUD (Create, Read, Update, and Delete) security checks are being introduced gradually across multiple releases and are not yet fully complete. These checks prevent potential security vulnerabilities that could allow unauthorized access to data through CRUD bypasses.

We have also strengthened field-level security across PSA to ensure compliance with security standards and to provide a more robust data protection framework.

We recommend that you:

  • Review and adjust any custom user permissions to align with the new field-level security requirements.
  • Update your permission sets manually if you have cloned the packaged permission sets or created your own custom permission sets.

For more information, see Upgrading to PSA Winter 2025.

Performance and Scale Help Enhancements

In this release, we have added additional guidance for optimizing PSA for performance and scale. Optimizing PSA for performance and scale enables organizations to more effectively manage large volumes of data and complex operations. This guidance will be expanded in future releases. For more information, see Performance and Scale Overview.

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 Winter 2025 for a list of fields that we recommend you do not use because they will be deprecated in a future release.

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

The Resource Planner, Project Planner, and Team Schedule Planner will be deprecated in a future release. We recommend that 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 Work Planners Overview and Using Work Planners.

Removal of Support of Off-Platform Use for Intelligent Staffing and Resource Optimizer

We have deprecated the External Systems custom setting originally intended for the off-platform use of Intelligent Staffing and Resource Optimizer.

We recommend you do not use this custom setting as it will be removed in a future release. Using this custom setting has no effect.

For more information, see Upgrading to PSA Winter 2025.

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 Trailhead

If you want to learn more about the new features in this release, see the PS Cloud - Winter 2025 Release Highlights Certinia Trailhead 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.