Release Notes - v5.21.1
Available (Production) - w/c 11 May 2026 - merged with v5.20.3
| We are listening! Items with this label are a result of your suggestions in uInnovate. Please continue to share and support those ideas that help your business. | |
| Items with this label are features that may require adjustments to security or configuration and may have implications for your operations or current workflows. We recommend reading these and understanding the impact prior to updating. |
Smarter global search for customers and suppliers:
Global search now ignores differences in case and extra spaces when matching customer and supplier records. You find the right results more reliably without having to retype exact names.
Create a new contact from the Offhire Collection screen:
You can now add a new contact directly from the Offhire Collection screen using the 'Add New' option, without leaving the transport form. A concise form with inline validation captures key details (only First Name and Surname are required) and auto-selects the new contact on save. This speeds up scheduling and reduces context switching. Heads-up: Your organisation may restrict who can create contacts; this may require role/permission updates.
Admin feature toggles for 365 vs legacy:
Administrators can now switch selected features between the Syrinx 365 and legacy experiences, starting with Hire Contract Entry and Off-Hire Search; duplicate 'Legacy' menu entries are removed, and the UI follows your chosen setting. This helps you transition at your own pace and revert if something critical is missing. This may require role/permission updates.
Create contracts from Customer Search with a streamlined workflow:
Start 'Create Contract' directly from the Customer Search menu, skipping customer selection and moving straight to validation to save time.
You can now create hire contracts in a simple 3-step flow that validates the customer, captures liability details and shows any alerts upfront. This replaces the previous series of pop-ups, cutting clicks and helping you complete contracts faster with a clearer, friendlier design. The option is only shown to users with the required privilege. This may require role/permission updates.
Faster Hire Contract Local Search:
We have optimised the search query to avoid expensive scalar subqueries and reduced low-value columns in the general text match, delivering results within 3 seconds on typical data and closer to the direct contract-number filter speed. The eight removed columns remain visible in the grid, and search accuracy and existing behaviour are maintained.
'Type' column and filter in Open Contracts:
The Open Contracts search now includes a 'Type' column and filter, so you can view and segment unconfirmed and open contracts in one place. This helps you prioritise the right work faster.
Reordered Stripe payment metadata to prioritise invoice details:
We have reordered the metadata sent to Stripe so key identifiers appear first: Invoice array, Source Doc No, Account No, Customer Name, then ID. This helps you recognise payments faster and aims to improve automated reconciliation activities for accounting systems integrated directly with Stripe.
Automatic COGS journal postings:
Syrinx can now create COGS journals automatically to move costs from inventory to Cost of Goods Sold for sales, hire confirmations and rechargeable workshop jobs, with automatic reversals on cancellations and credits. This provides more accurate, real time margin reporting and reduces manual rekeying, with a review screen and a batch run process available. Heads-up: Set COGS nominal codes in System Options at system and sales category levels before use, and review/post via the Accounts Transfer Tool as required.
Automatic GRNI journal postings and variance handling:
Syrinx now posts GRNI journals at goods receipt to debit inventory and credit a GRNI liability, and reverses them on supplier invoice posting, cancellation or reconciliation. Price variances between receipts and invoices are posted to a variance nominal code, helping keep inventory values and costs aligned. Heads-up: Configure GRNI and variance nominal codes in System Options; journals appear in the Accounts Transfer Tool for review and posting.
Expanded Sage Intacct transfer support:
The Accounts Transfer Tool now supports sending unpaid invoice lists, posting AR bank payments that link to invoices (or post on account with a customer ID), and handling purchase invoice disputes via Intacct’s on-hold flag or an agreed custom field; Syrinx and Intacct states are aligned so Draft/Reversal are ignored and Posted/Partially Paid count as unpaid. Coordinate any custom fields and mappings with your Intacct administrator. This may require role/permission updates.
Reduced Sage Intacct API calls for accounts transfers, invoices and aged debt:
Syrinx now batches ARINVOICE queries and adds caching of posted invoice numbers to cut the number of calls made to Sage Intacct for invoice transfers and aged debt. Customer and supplier transfers to Intacct also now use caching and remove redundant count checks to reduce the number of chargeable API calls and speed up runs. This helps lower Intacct API usage and potential charges, while improving performance. Heads-up: Review the 'TransferAllAgedDebts' and 'SyrinxTransferAlwaysAllUnpaidInv' settings; if enabled, they can force extra calls regardless of balance changes.
Stock Check Search screen:
Quickly find and review stock checks in Syrinx 365 with a new search screen, removing the need to use legacy tools. Open records directly from the results to speed up the investigation and follow-up.
Advice Note search now shows newest first:
Advice Note search results are sorted by Date Created in descending order by default, matching other screens and making recent notes easier to find.
Filter cross-hire POs awaiting authorisation:
A 'Requires Auth' Yes/No filter and default grid column let you quickly isolate purchase orders with no authorised user set, or show only those already authorised. Leave the filter blank to see all cross-hire POs.
Query Release Numbers screen:
Use a dedicated screen to search and filter release reference numbers across all statuses, making it easier to find historical entries as well as current ones. Open a result to view details and take follow-on actions where permitted.
Manage Release Reference Numbers in Syrinx 365:
Create system-generated or third-party release reference numbers, amend details, search across all statuses, and cancel (with reason) or close off as needed in one consolidated screen. The feature protects downstream data by preventing cancellation of numbers already used, enforces required fields and 2,000-character limits, and provides clear error handling with automatic list refresh and repositioning. Access respects your depot permissions and context. This may require role/permission updates.
Amend exchange rates directly in Syrinx 365:
Update a currency’s rate and valid-to date in a dedicated dialog that pre-loads current values, shows dynamic '£1 = CUR' labels, and displays a live reverse rate to 5 decimal places. The base currency is protected, inputs are validated (rate ≥ 0.0001; valid-to between yesterday and +3 months), and you are warned about unconfirmed invoices before saving; saves create history and errors are shown without closing the dialog, while Cancel discards changes. Important: Exchange rate changes affect invoicing, hire contracts and purchase orders.
Exchange Rates list with secure Amend action:
View all active currencies in a read-only list with code, name, rate, who set it, when, and valid-to, sorted by code; the base currency is clearly identified and cannot be amended. From each row, you can open the Amend dialog and on close, the list refreshes to reflect any changes. Access is controlled by the 'Exchange Rates' privilege. This may require role/permission updates.
Add ‘Export to SFTP’ option in task scheduler:
Syrinx now supports a configurable 'Export to SFTP' option for task scheduler tasks so you can choose a remote SFTP location in the UI and automatically write files there. Exports overwrite existing files at the destination and are available for both Cloud and On-Prem 365 customers; existing Fleet Factors exports remain unaffected. Heads-up: SFTP host, credentials and write access must be configured securely and may require role/permission updates.
POR One Workshop sign-in failed for users created via 'Create Global User' (v5):
In 5.8.0, a POR One Workshop user created from the v5 'Logon Users' screen using 'Create Global User' could not connect to the app/database, even when linked to a workshop staff member. We corrected user provisioning so these global users authenticate properly in POR One Workshop, provided sufficient workshop app licences exist. Note: If you manage roles or app access centrally, review user permissions after updating. This may require role/permission updates.
POR One Workshop customer search lost results after typing a space:
In POR One Workshop (replicated on 5.10), entering a space after the first word in ‘New Customer Job’ cleared previously shown matches. We fixed the search so results persist after spaces and progressively filter as you type subsequent words. You can now find customers quickly using multi‑word searches.
Off-hire via Driver App created orphaned/empty collection jobs:
Raising a full off‑hire from the Driver App could create an orphaned collection or a mobile collection job with no items when 'Default Planned Collection Date' was not null and a collection charge was on the contract. The off‑hire workflow now creates a single collection note that includes all items, with jobs visible in the app and Driver Scheduler. This prevents duplicate or empty collections.
Multiple deliveries are only visible to fulfilment depot in Driver Scheduler:
With Fulfilment Depot enabled, multiple deliveries from a contract were shown to both the intake depot and the fulfilment depot in Driver Scheduler. We corrected visibility so deliveries flagged as 'Multiple Deliveries' are only shown to the fulfilment depot performing the work. This reduces scheduling noise and misrouted jobs.
Error opening 'Mobile Job' from Driver Scheduler:
Clicking 'Mobile Job' from the right‑hand panel in Driver Scheduler threw an error. We resolved this so mobile jobs open reliably from the scheduler. You can review and manage jobs without interruption.
Driver Scheduler login could hang at 75%:
Logging in to Driver Scheduler could freeze at 75% and throw an infinite loop error, sometimes requiring manual clearing of 'DriverSchedulerHorizontalSplitter' and 'DriverSchedulerVerticalSplitter' settings. The race condition is resolved so you can log in normally without hangs. Note: Previous workarounds are no longer needed.
POR Pay payment dialog failed when organisation had a tag set (parsing error):
Taking a POR Pay payment could fail with an 'Unexpected character encountered while parsing value' error when the customer organisation had a tag set. The payment flow now handles organisation tags correctly and opens the POR Pay dialog as expected. You can take payments without this parsing error.
Unable to open separate off‑hire invoice from Cost of Hire:
When ‘Produce Separate Off Hire Invoice’ was set to ‘All Customers’ and the contract invoicing was Offhire/Account or Offhire/Cash, users could not open the separate off‑hire invoice from the Cost of Hire screen. We corrected the action so ‘Review Invoice’ opens the off‑hire invoice as expected. You can now view and review off‑hire invoices directly from Cost of Hire.
ERROR-3359 when adding a line to Goods Returned Note:
In Purchasing, adding a new line to a Goods Returned Note triggered 'ERROR-3359: Pass-through query must contain at least one character' when tabbing out. The process now validates correctly and adds lines without this error. You can record returns smoothly.
Consumer Portal: Contract document icon not updating:
In emailed Quiklinks, the contract document icon did not reflect loading or availability states, leaving a non-working button. The icon now shows a loading spinner with a gray PDF while searching, turns dark when a document is found, and disappears entirely if none is available. Your customers get clear, accurate feedback and no dead-end buttons.
Power Filter showed no Fleet results in Syrinx:
In Syrinx 365 5.18.1, filtering Fleet by 'Power' returned no records even when Equipment Power Types were configured in Syrinx Config. We fixed the filter to recognise and match the configured Power Types. You can now filter Fleet correctly by Power and see the expected items.
Case‑insensitive sort restored in 365 search grids:
Sorting VARCHAR columns with mixed‑case values (e.g. Fleet or Customer search) produced an incorrect order. We updated the sort to be case‑insensitive so values are ordered alphabetically regardless of case. You can now sort grid results accurately.
Apostrophe in search field caused errors on any search screen:
Entering an apostrophe in any search (for example, 'paul's') caused an error instead of filtering results. Searches now accept single quotes and return the correct matches. You can add, find and select records without workarounds.
'Convert Tax Code' failed to update previously invoiced hire item lines:
Using 'Convert Code' in 'Tax Codes' did not update hire item lines on contracts that had been invoiced previously. The conversion now updates items on unconfirmed, open, and off‑hired pending final invoice contracts regardless of earlier invoices. This ensures later invoices transfer to accounts with the correct tax code.
Service/repair job could not be raised for items on more than 250 open contracts:
Starting a 'Process Job' for an item on more than 250 open contracts blocked selection of the job type. The lookup is optimised so you can open the 'Pick Job' dropdown and choose the required job, including breakdown jobs for all on‑hire contracts. This helps you raise service/repair jobs for high‑volume items reliably.
Message boxes appeared behind windows or without focus:
Important message boxes sometimes opened without focus or behind other windows, making alerts easy to miss. We updated alert behaviour so these messages appear in front and draw focus when opened. This helps you see and act on critical information promptly.
Task Scheduler starts even when not configured:
The Task Scheduler service now starts reliably even if configuration settings are missing. When no settings are present, it remains idle, avoiding false “service not running” alerts during cloud upgrades and saving unnecessary investigation time.
Semicolon in SQL password blocked .accdb screens and schedulers:
If your SQL password contained a semicolon (;), Syrinx 365 in AppStream could not open .accdb‑based screens or the Driver/Workshop Schedulers. Password handling now supports semicolons so you can authenticate and open all schedulers and .accdb screens as expected. Consider reviewing password policies if you block special characters elsewhere.
Concurrent licensing did not release PC entries promptly:
Under concurrent licensing, logging off did not set SYL_EXIT_DATETIME, leaving the licence tied to the PC and forcing about a 15‑minute wait before another session could start. Closing Syrinx 365 or .accdb screens now releases the licence immediately and updates TH_SYSTEM_LOGONS. This frees seats promptly and reduces login delays.
Reduced SQL locking from legacy Access screens:
We have reworked how legacy Access (ACCDB) screens interact with SQL Server to prevent query escalation to page locks that can block writers. This helps improve system stability and throughput during busy periods without changing your day-to-day processes.
Trip down memory lane
In this section, we will loop back to something released a while back and highlight a feature that maybe has been forgotten about, we weren't aware of it, and a reminder that there could be functionality available that may just improve your workflow or your day.
When emailing a hire contract or confirmation note, you send a Quiklink from Syrinx 365 which will allow the recipient to click on the link and open up a summary of the hire contract and, if enabled, access documents about the items on the contract, service certificates and safety instructions, more information is in the knowledge article here, Sending a Quiklink from Syrinx 365