RELEASE NOTES
1. ALL REGIONS
FEATURES
Reviews: Stage Triggers
We have added Stage Triggers to Reviews, giving teams more control over how review stages progress.
Previously, review stages followed a strictly linear workflow, where each stage had to finish before the next one could begin. With Stage Triggers, review workflows can now be configured to better match real-world approval processes, including parallel review paths and manually started stages.
What’s New
Parallel Review Stages
Multiple review stages can now be triggered from a single completed stage, allowing different reviewer groups to work at the same time instead of waiting for each stage to complete sequentially.
Manual Trigger Stages
Review stages can now be configured to start manually. This gives teams a controlled pause before moving into key stages such as production, client approval, or final sign-off.
Stage Settings Control
Stage behaviour is managed from the Stage Settings modal, accessed via the cog icon in each stage header. From here, users can configure review logic, deadlines, and workflow trigger rules.
Benefits
Stage Triggers help teams:
- Reduce approval bottlenecks
- Run parallel review streams
- Add governance controls before critical workflow steps
- Better support complex agency, client, legal, medical, and production approval processes
- Save more flexible review structures into reusable templates
Example Use Cases
- Creative, proofreading, legal, and account teams reviewing in parallel
- Production only starting once final comments and approvals are complete
- Client approval stages being held until internal review is complete
- Regulated workflows requiring explicit manual progression between stages
[#79344] QA: Bulk Project Amendments to use REST
This is an internal improvement to how Bulk Project Amendments are processed. The following amendment types have been updated to use the REST API, bringing them in line with the standard approach used elsewhere in the platform:
- Agresso User Functions (Project Owner, Account Manager)
- Agresso Project Dates
- Agresso Project Status
- Agresso Brand & Product
Existing functionality and permissions are unchanged. Legacy and NC projects continue to be excluded where applicable. Processing should also be significantly faster and more reliable with fewer failures.
Saved Filters – Finance Reports
Users can now save, load, and share filter combinations across all six Finance Summary and Detail Report tabs (Estimate, PO, and Invoice). This removes the need to manually re-apply the same filters each time you run a report.
Saving Filters
Once you have applied your desired filters, click the new “Save Filters” button and give the combination a name. The button is only enabled when at least one filter is active. Your saved filters are stored per report tab, so filters saved on the Estimate tab won’t appear on the Invoice tab.
Loading Filters
The filter panel now has two tabs — “Options” for the standard filter controls, and “Saved” for your stored filters. Click any saved filter name to instantly apply it and generate the report.
Sharing Filters
Operations users can share saved filters with other users, groups, or offices. When sharing, you can choose between two access levels:
- View — the recipient can see and apply the filter but cannot edit or delete it
- Edit — the recipient can update filter values or delete the filter, with changes reflected for all users who have access
Office-level sharing is always View only.
Permissions
Project Managers can save and load their own filters but do not have access to sharing options. View and Edit permission fields are only visible to Operations users and above.
Enhancements
[#81465] Enhancement: Timesheets menu item is visible when Timesheets are disabled
The Timesheets menu item was showing in the navigation even when Timesheets were disabled for an office, but clicking it would result in a broken submenu. The menu item is now hidden entirely when Timesheets are turned off, and returns automatically once the feature is re-enabled.
[#78734] PO says ‘DRAFT’
PO and Invoice PDFs in non-Agresso offices were displaying “PURCHASE ORDER DRAFT” and “INVOICE DRAFT” in the header, even after the document had been approved. The word “Draft” has been removed so headers now correctly read “PURCHASE ORDER” and “INVOICE”, with PO and Invoice numbers labelled accordingly.
[#80181] Enhancement: Finance Summary > Show only one label at a time in the Chart
When hovering over the Finance Summary Report chart, all four data labels would appear at once, causing them to overlap and become hard to read. The chart now displays only the label for the specific bar or line being hovered over.
[#79795] Enhancement: Add “Amount (inc-tax)” and remove redundant “Amount” column in Finance Reports
The Finance Detail and Summary Reports had a duplicate “Amount” column that showed the same values as “Amount (ex-tax)” and couldn’t be exported. This has been cleaned up across both reports:
- The duplicate “Amount” column has been removed
- “Amount (ex-tax)” remains in both reports
- A new “Amount (inc-tax)” column has been added to the Finance Summary Report, showing the total invoiced amount including tax, and is available to export in Excel
[#79504] Invoice / PO & Estimate To for on the Finance Reports
The “Estimate To”, “PO To”, and “Invoice To” fields on the Finance Summary and Detail Reports were showing blank for non-Agresso offices (such as Havas Istanbul and Havas Life Spain). This was because the reports were only looking up these values from Agresso-specific data, ignoring non-Agresso offices entirely. The reports now pull the correct values for both office types.
[#79393] FE: Make “From” optional in Finance Workflows
When reassigning Finance Workflows in bulk, the “From” field previously had to be filled in. It is now optional — leaving it blank will return all projects on the next step without filtering by a specific existing workflow, making it easier to reassign workflows across projects in bulk.
FIXES
[#79381] Bug: Filter out Legacy Projects for Agresso Project Roles route
When using the bulk amendment tool to reassign Agresso User Functions, Legacy Projects were appearing in the project selection list and causing amendments to fail. Legacy Projects are now filtered out, so only valid projects are shown.
[#79550] BE: Update the “Random Password Creator”
When creating a new user and using the “Set Random Password” option, the generated password was not meeting the current password requirements — which were updated last October to require special characters. This meant some auto-generated passwords were being rejected on save. Passwords are now generated to always meet the required standards.
[#79718] BE: Improve the error messaging of Master Job / Sub Job Dates
When approving a sub-job with dates that fall outside the Master Job’s date range, Agresso would return a cryptic error message that gave users no clear guidance on how to fix the issue.
The system now checks for this date mismatch before submitting to Agresso and displays a clear error message on the Finance Profile showing both the Master Job and Sub-Job date ranges side by side. The sub-job is still created successfully — only approval is blocked until the dates are corrected. The same check also applies when amending project dates.
[#81071] [Finance] Fatal error when requeueing a document with no Agresso queue entry
Clicking “Requeue” on a failed finance document (Invoice, Estimate, or PO) was causing a 500 error in rare cases where the document had no associated queue record. The app now handles this gracefully and displays a user-friendly error message instead of crashing.
[#80823] Bug: New PW does not apply naming convention on Sub jobs (Havas People UK)
When creating a project with a Master Job selected (making it a Sub-project), the naming convention was not being applied to the project title. This has been fixed and the naming convention now applies correctly whether or not a Master Job is selected.
[#80955] Bug: Type Error in CreateProject
When authorising a project through to Agresso, the process would crash if the assigned Project Manager wasn’t a valid resource in the project’s office. The app now detects this early and fails the job cleanly rather than throwing an error, preventing corrupt data from being sent to Agresso.
[#80734] Fix: Solr update fails with NumberFormatException when jobusers contains empty string values
When saving a project, the search index was silently failing to update in the background. The project would appear to save successfully but could show outdated information or not appear in search results at all. This has been resolved and search results should now reflect project updates correctly.
[#80582] Agresso: Tax System is missing on project creation
When creating a project with separate invoice details, the tax system selected in Pronto was being ignored by Unit4 and either left blank or replaced with the company default. This meant projects were invoiced with the wrong tax system.
To work around a limitation on the Unit4 side, Pronto now sends a follow-up update immediately after a project is created to ensure the correct tax system is applied. This affects any office using tax systems.
[#80551] BE: Update Global Worker RES ID Audit Export
The Global Worker User report was incorrectly flagging certain users as having mismatched Resource IDs when their ID contained a dash (e.g. NAWCCW-03298). When comparing IDs, the dash was not being stripped out before matching, causing valid users to appear as errors. The comparison now ignores dashes, so these users will no longer show up incorrectly on the report.
[#80545] Fix: Project Patch to update Main Job
When creating a sub-job (child project) with a Main Job selected, Agresso was automatically overriding several fields on the sub-job — including branch, customer, currency, dates, and dimensions — with values from the Main Job. This meant sub-jobs were being created with incorrect data regardless of what was entered in Pronto.
To resolve this, Pronto now creates the project in two steps: first creating the sub-job without the Main Job reference so all fields are set correctly, then immediately sending a follow-up update to link the Main Job. If the second step fails, the project is still created but the missing Main Job link is flagged to the user so it can be addressed.
[#80543] History Tab: Fix the spacing in History Tab
The History tab across several Address Book sections (Master Client, Brand, Product, User, and Office) was displaying changes with excessive spacing, making it difficult to read what had been updated. The layout has been tidied up so changes are now clearly visible.
[#80528] Bug: Staff sync is leaving resource status N when resource was C
When running a Staff sync for an individual resource, the sync process was temporarily setting the resource status to open as part of its logic, then setting it back at the end. However, if the resource was already closed, it would end up being incorrectly marked as open after the sync completed.
The sync now preserves whatever status a resource had before it ran, so closed resources remain closed.
[#76950] Bug: Project > Reviews tab: Infinite loading after notifying without selecting reviewer
In the Project Reviews tab, clicking “Notify Selected Reviewers” without selecting any reviewers would cause the page to load indefinitely with no feedback. A warning message is now shown prompting the user to select at least one reviewer before sending.
[#81033] Create Rollup: Saving without adding Title resets the modal
Fixed an issue in the Create Rollup Report modal where attempting to save without entering a Title would reset the modal and clear any selected timelines. The modal now displays a validation warning while preserving all previously selected timelines, allowing users to complete the required field without losing their work.