🆕 New Features
🔓 Clear System Locks — self-service management of system locks
Admin users can now view and clear stale system locks directly from a new System → Clear Locks screen, without needing to contact Catch-e support for most stale-lock situations.
This is available when:
You're logged in with the Admin role — no other standard role can see the menu item or the screen
Additional Details:
The screen sits under System, directly below Workgroups and above Change Password
Filter the current lock list by User Login and/or Table Name (Table Name includes process-style entries, not just database tables), then click Go to refresh the list
Ticking one lock automatically selects every other lock held by the same session, so a user's full set of locks can be cleared in one action
Certain critical locks — locks on an entire table, and locks tied to billing or system configuration records — are highlighted; they can't be deleted from this screen, so contact Catch-e support if one needs to be cleared
If the table behind a selected lock is affected by a long-running database query, deletion is blocked until the query clears; if it needs to be cleared urgently, contact Catch-e support
If a selected lock has already been cleared by someone else (or expired) by the time you click Delete, you're shown an alert rather than the request silently failing or partly succeeding
Every deletion is recorded in an audit trail noting who originally held the lock and who deleted it; deleting an active session's lock signs that user out immediately
📋 New "Resources" menu
Internal users can now access Catch-e's Feedback, Roadmap, Changelog, Status, Developers and Trust pages directly from a new Resources dropdown menu, without leaving the app.
This is available when:
The user's role is an internal role — the menu is not shown to external/client-facing roles.
Additional Details
The Resources menu sits alongside System in the top navigation.
Each link (Feedback, Roadmap, Changelog, Status, Developers, Trust) opens in a new tab.
⬆️ Enhancements
🏦 Configurable financier margin rates for quotes
Quotes can now apply a configurable interest rate margin — an increase or a discount — to the financier's base rate, in addition to the existing Client Margin. This replaces a piece of older, client-specific discount logic with a generic mechanism that Catch-e can configure by financier, and optionally by make, model or variant.
This is available when:
A margin rate has been configured that matches the quote’s financier (and, where applicable, its make, model or variant)
The quote's Variant, Quote Date, Client Code or Contract Type changes — the margin is re-resolved on each of those triggers (a Term change alone does not re-derive it)
Additional details:
The Financier Margin field sits on the Quote → Finance tab, directly below Client Margin: a discount shows in red, an increase in black
Financier Rate is now calculated as Base Rate + Client Margin + Financier Margin
Where more than one configured rate could match a quote, only the single most specific one applies — margins are never added together
A related fix: Client Margin now rounds to 2 decimal places before it's added into the Financier Rate, correcting a rare rounding/precision issue
Every Financier Margin change — made in the UI or via the API — is recorded in the audit trail
The API also now returns the resolved
financier_margin_rateon quote create/update responses (the legacy create-quote endpoint used by some older integrations does not include it)
🔧 patchQuote updates
The patchQuote API can now accept seven additional fields, delivered across two updates.
Finance details
Early Termination Fee
Budget Financed
Residual Rate — editable on novated quotes only; on non-novated quotes any submitted rate is ignored and it continues to be derived from the Residual Amount as before
Additional fee fields
REVS/PPSR Fee
Fuel on Delivery Fee
Delivery Fee
Other Brokerage
All seven fields accept zero and are validated to reject empty, negative, non-numeric or over-precision values. Early Termination Fee, Budget Financed, and Residual Rate on novated quotes hold whatever value is explicitly set, including through later changes to the quote.
The four additional fee fields work a little differently: an explicit value wins when sent alongside another change in the same request, but — matching how these fields already behave on the Quotes screen — a separate, later request that recalculates the quote can still reset one back to zero.
Existing quotes and patch requests that don't reference any of these fields continue to save exactly as before.
💸 Salary-packaging transactions now update as soon as a receipt is posted or un-posted
Posting or un-posting a receipt batch now updates the linked salary-packaging transactions straight away, instead of waiting for a background update.
When the receipts against a pay-run billing add up to the full invoiced amount, the employee's packaging transactions move from Pending to Posted at the moment the receipt is posted. If a receipt is later un-posted and the billing is no longer fully receipted, those transactions move back to Pending, at the moment the receipt is un-posted.
For employees this means packaging transactions appear on their statement, and count towards their balance brought forward, as soon as the funds behind them are actually received — and disappear again, just as promptly, if a receipt is un-posted.
For finance teams it means packaging status reflects funds received in real time, in both directions.
Every change is recorded in the audit trail against the user who posted or un-posted the receipt.
