Skip to main content

Changelog

Follow new updates and improvements to Catch-e.

Changelog - 04 November 2026

Our latest release introduces security improvements, enhanced API quote creation rules, and several automation features, including copying User Defined vehicle variants, automated insurance rate updates, and automatic fuel card creation during fuel imports. These enhancements strengthen platform security, improve consistency, and reduce manual administration across key workflows.

Please note: Due to the Melbourne Cup public holiday in Victoria, deployment will occur on Wednesday, 4 November 2026.


🛡️ Security Update: Recently Disclosed PHP Vulnerabilities

Our engineering and security teams have reviewed the Catch-e platform against the recently disclosed PHP vulnerabilities and have taken the following steps:

  • The Catch-e API and Driver Portal have been updated to a patched PHP release, and the affected PHP functionality has been disabled.

  • Containerised services have been rebuilt on the latest patched PHP releases.

  • The Catch-e application is assessed as not affected by one of the vulnerabilities. It is also protected by our web application firewall, which includes AWS-managed rules that detect and block attempts to exploit these vulnerabilities.

  • Firewall protections are updated automatically as AWS releases new detections.

We’ll continue to monitor these vulnerabilities and update our protections as part of our ongoing security program. Thank you for your patience and continued trust while we completed this work. If you have any questions, please contact Catch-e Support.


🔌 createQuote: Contract Type Inclusion Rules

The createQuote API now applies the Contract Type’s Inclusion settings when a quote is created. This also covers simulate and simulate-and-compare. Quotes created through the API now match the Contract Type’s configuration, and callers no longer need to know which Inclusions are preselected.

  • Inclusions the Contract Type marks as unavailable are rejected, however the request names them.

  • Preselected Inclusions with one applicable plan are added automatically when the request doesn’t mention them.

  • A Preselected Inclusion with more than one applicable plan must be given a plan or excluded, or the quote isn’t created.

  • Inclusions excluded for the client or vehicle are rejected, however they’re named and whether or not they’re marked as included.

Additional Details

  • A request that already includes or excludes a Preselected Inclusion is now honoured as sent. Previously Catch-e overrode it.

  • A Preselected Inclusion that’s excluded for the client or vehicle is no longer added and no longer causes the whole request to fail.

  • Suspended Inclusions and inactive plan versions are never added automatically.

  • The inclusionCodeNotAllowedForContractType error key has been retired.

  • The request and response formats are unchanged. Copying an existing quote isn’t affected.


✨ Automated Insurance Rates updates

Users can now update comprehensive insurance rates and refresh contract premiums and payment schedules to match, using a standard upload and Scheduler job process available to every client.

This is available when:

  • Catch-e has activated the insurance update jobs for your site. They are created for every site as restricted jobs and stay inactive until then, so contact Catch-e Support to have them activated.

Additional Details

  • Rate files now include the insurer’s supplier code. If any row can’t be matched, nothing loads and the Scheduler screen shows why.

  • After a successful rate load, a draft of suggested new amounts for each contract is emailed automatically for you to check and upload.

  • The confirmed amounts are applied overnight with a full audit trail. If the upload has a problem, nothing changes and the reason is shown.

  • Sites already running these processes are unchanged.


✨ Automatic fuel card creation during fuel import

Fleet operators can now have Catch-e create a missing fuel card automatically when an imported transaction’s registration identifies exactly one suitable contract, instead of creating each card by hand from ‘Failed Card’ transactions.

This is available when:

  • The global control feature_auto_create_card_on_fuel_import_flag is switched on for your site. It is off by default. Switch it on in Global Controls if you have access, or contact Catch-e Support.

Additional Details

  • A card is created only where the registration matches exactly one active contract whose Contract Type has a Fuel budget on its Expenses-Approvals tab. Anything less certain stays at ‘Failed Card’ for you to fix as today.

  • Created cards appear on the Cards screen with a note recording when and how they were created.

  • It works when importing a file, running Check, and on scheduled imports.

  • Each transaction still goes through the usual validation checks before it can be posted.


✨ Copy a User Defined Variant

Users can now create a new vehicle variant by copying an existing User Defined variant. This makes it quick to set up each new model year as its own variant, without overwriting the previous one.

This is available when:

  • The variant_copy_enabled_flag control is switched on. It’s off by default.

  • The variant on display is User Defined and in Display mode.

  • The user has access to Edit on the Variant Detail tab.

Additional Details

  • Copy opens a new, unsaved variant with the original’s details filled in. List prices start at 0.00, and Variant Code Previous and Next are blank.

  • The Variant Code must be changed before saving. A copy can’t keep the original’s code.

  • Linked records such as the profile, equipment, discounts, rebates, bonuses and photos aren’t copied.

  • Status is copied as it stands, so copying an Active variant gives an Active copy.

  • Cancel returns you to the original variant, which is never changed.

Changelog - 19 October 2026

Our latest release delivers key enhancements across fleet management, integrations, salary packaging, and payment processing. From the upcoming Catch-e Driver App and new odometer API to stronger validation controls and more flexible billing workflows, these updates are designed to improve efficiency, accuracy, and user experience across the platform.

🕒 Coming soon: the new Catch-e Driver App


We’re putting the finishing touches on a new mobile app built for your drivers. It brings the everyday parts of running a vehicle into one place, so drivers spend less time on admin and more time on the road.
What to look forward to:

  • Your vehicle at a glance: lease details, servicing schedules and key dates in one view

  • Simpler fuel and expense logging: capture receipts and odometer readings on the go

  • Timely reminders: prompts for registration, servicing and other upcoming tasks

The Driver App will be available on iOS and Android soon. We’ll share setup guides and rollout details closer to launch.


API Updates

New API - createContractOdometer

We’ve introduced a new createContractOdometer API that records an odometer reading against a contract, providing integrations with the same capability as the Odometer button on the Contracts / Maintenance screen.

For each reading, the API records:

  • Odometer reading (km)

  • Reading date

  • Description (defaults to the FBT VMRS code description if left empty)

To ensure readings are accurate and consistent:

  • A reading outside the contract’s expected odometer range is held back with a warning and saved only when the caller confirms it.

  • A reading identical to an existing one for the same contract and date isn’t saved again, even when sent more than once at the same moment.

  • Each reading is recorded against the authenticated user, or the person who supplied it, in the maintenance record and the audit trail.

The API also includes validation to ensure:

  • The contract exists and is within the user’s client restrictions.

  • The reading is a whole number greater than zero, with a valid date.

  • The caller has the required ContractMaintenance:Create permission.

This new API lets integrations and portals submit odometer readings directly, removing the need for back-office staff to key them in through the Maintenance screen.


Salary Packaging Updates

Confirm Varying an Item When the Next Date Has Already Been Billed

Users varying a salary packaging Item are now asked to confirm before saving when the Next Date they’ve left in place has already been billed. Previously, the save just didn’t complete and no message appeared.

This is available when:

  • You are varying an active salary packaging Item from the Vary form.

  • The Item’s Contract has already started billing.

  • The Next Date has been left as the form supplied it, and that date has already been billed.

Additional Details

  • Selecting OK saves the variation. No additional billing period is created on the already-billed date.

  • Selecting Cancel saves nothing and returns the cursor to the Next Date field, so you can pick a different date.

  • If the same save would also suspend the Item, only the suspend confirmation is shown. Accepting it also accepts the already-billed Next Date.

  • Any other Next Date problem still shows the standard failure message, with no option to continue.

BECS Disbursements Batch Checked Against Your Reviewed Selection

Users creating a BECS Disbursements (ABA) batch are now stopped if the disbursements have changed since the control totals were displayed. This means a batch can no longer include payments you haven’t reviewed.

This applies when:

  • Creating a batch from the BECS / Disbursements (ABA) screen, with an ABA Type of Client or Company.

Additional Details

  • If Control Invoices, Control Items or Control Total no longer match, the batch isn’t created. You’ll see “Problem creating BECS export - the selection has changed since it was displayed. Review the control totals before creating this batch.”

  • A change to any one figure is caught, even if the Control Total stays the same.

  • To continue, reselect by changing the Client Code, Pay Cycle or paying bank account, then review the updated figures. New and changing the ABA Type don’t reselect.

  • If every disbursement has been removed from the selection, you’ll still see the existing “No disbursements found” message.

  • A rejected batch saves nothing and doesn’t lock the general ledger for other users.

Email Pay Run Invoices in a Separate Pass

The Pay Run Reports job can now email pay run invoices that have already been created, without invoicing them again. You can invoice pay runs first, check them, then email them in a later run.

This is available when:

  • The Pay Run Reports job’s new Invoice parameter is set to No.

  • The pay run is dated today, at Pending, with a posted invoice, and the client’s delivery type is Email.

Additional Details

  • Invoice defaults to Yes, so existing jobs keep invoicing and emailing as they do today, with no changes needed.

  • In email-only mode, Run Date is hidden and the Delivery setting is ignored.

  • Pay runs that have already been emailed, whether by the job or from the Pay Run screen, aren’t sent again.

  • If a send fails, or the client has no email recipient, the pay run is listed on the exception report, and the rest of the pass continues. A failed pay run is picked up again on the next run.

  • An email-only run creates no invoices, so it can run during business hours.

Changelog - 5 October 2026

This release introduces a range of enhancements focused on improving accuracy, control, and operational efficiency across the Catch-e platform.

Key updates include more flexible lease inclusion management, stronger salary packaging validations to help prevent duplicate billing, improved visibility of employee contract information, enhanced pay run invoice delivery options, greater transparency when sending emails, and expanded API access to support integration with external systems.

Together, these improvements help streamline administration, strengthen data integrity, and provide a more seamless experience for customers managing leasing, payroll, communications, and business integrations.

📋 Lease Inclusions by Contract Type

Administrators can now set, for each Contract Type, which Lease Inclusions are added to quotes automatically and which can't be used. This stops quotes from carrying Inclusion products that don't apply to their Contract Type.

This is available when:

  • Editing, creating or copying a Contract Type in Fleet › Controls › Accounts › Contract Types › Details, using the new Lease Inclusions section.

Additional Details

  • Each Inclusion can be set to one of three types:

    • Available (the default): users can select it manually.

    • Preselected: added automatically to new quotes.

    • Unavailable: not offered on quotes.

  • Unavailable rows are highlighted pink. Suspended and inactive Inclusions are shown greyed and can't be changed.

  • Copying a Contract Type carries its Lease Inclusions settings over, and you can adjust them before saving.

  • When a quote's Contract Type changes:

    • Preselected Inclusions are added.

    • Any selected Inclusion that is Unavailable for the new type is removed, with a warning naming it.

    • Removing an Inclusion clears its Plan and pricing and can change quote totals where the Inclusion isn't financed.

  • On an existing quote, an Unavailable Inclusion that's already selected stays selected until you remove it.

  • Copying a quote doesn't apply the settings, and existing quotes aren't changed when a Contract Type's settings change.

  • Changes are recorded in the Contract Type's View Edit History.


✅ Salary packaging Items: Vary no longer accepts a Next Date that has already been billed

Administrators can no longer vary a salary packaging Item onto a Next Date that has already been billed. This prevents duplicate billing periods and duplicate deductions from an employee's pay.

This is available when:

  • Varying a salary packaging Item from the Employee's Item screen, where the Item's Contract has already posted billing.

Additional Details

  • The Next Date must be later than the last posted billing date. Dates on or before it are refused with "The specified next date must be later than the last posted billing record".

  • Pending adjustment entries no longer let a settled date through.

  • If an Item already has a duplicated billing date and you leave the Next Date unchanged, you'll see a confirmation instead of the refusal:

    • OK saves your other changes and leaves the duplicate in place.

    • Cancel saves nothing.

  • The Next Periodic field on the Contracts / Billing screen isn't affected.


✅ Employee Contracts tab no longer lists salary-packaged items

The Contracts tab on an employee/driver record now excludes salary-packaged items, showing only genuine vehicle contracts — correcting a case where packaged items could appear on the tab as if they were vehicle contracts.

This is available when:

  • Viewing an employee's Contracts tab under an internal or client-restricted login. (No change for an employee's own login — the driver-restricted scope already excluded salary-packaged items, so nothing changes there.)

Additional Details

  • An employee whose only driver-linked contracts are salary-packaged items will no longer be offered the Contracts tab at all, since it would otherwise open empty.

  • Packaged items remain fully available via the Current Packages, Item and Transactions tabs — nothing becomes unreachable.

  • Corrects the tab for contracts reached either by an incomplete driver event or by a contract being retyped to a packaged item after carrying a legitimate vehicle driver link.


📧 Pay Run Reports job: new email-only mode

Administrators can now set the Pay Run Reports job to email pay run invoices that have already been created, without invoicing them again. Invoices can be created and reviewed first, then emailed in a separate pass later the same day.

This is available when:

  • The Pay Run Reports job's new Invoice parameter is set to No.

  • The pay run meets all of these conditions:

    • it is dated today

    • it is at Pending status with a posted invoice

    • its client's delivery type is Email

    • it hasn't already been emailed.

Additional Details

  • Invoice defaults to Yes, which keeps the existing invoice-and-email behaviour. Existing saved jobs keep running as before, with no need to re-save them.

  • When Invoice is set to No:

    • the Run Date parameter is hidden

    • the Delivery parameter has no effect.

  • Pay run invoice emails now record which pay run they were sent for, whether they were sent by the job or from the Pay Run screen. The email-only pass uses this to skip pay runs that have already been emailed, including those emailed from the Pay Run screen earlier the same day. This applies to emails sent from this release onward.

  • If an emailed pay run is later un-posted and re-issued, it isn't emailed again automatically. Re-send it from the Pay Run screen.

  • If one email fails to send:

    • the rest of the pass continues

    • the failed pay run is named on the exception report

    • it stays eligible for a later pass.

  • The pass doesn't run while invoicing is in progress anywhere in your system. It reports this once and can safely be run again later the same day.


📨 Mail Queue: Send confirmation and sender shown in User column

Pressing Send on the Mail Queue now shows a confirmation before any email goes out. It shows how many pending emails will be sent, a breakdown by Type, the oldest email's creation date and age, and the number of recipients.

It also suggests filters to use if you want to send fewer.

Once an email is sent, the User column shows the person who sent it rather than the person who created it.

Cancelling sends nothing, and you can still send a mixed selection in one action.


🌐 Expanded external API access

A number of existing API permissions have been made available for external access across client environments. For the current list of APIs available externally, refer to the API documentation: https://api.catch-e.com/docs/

Qualifiers

  • Review the available permissions and enable the permissions you need.

  • Only APIs with a checked permission will run successfully.

  • Limit your permissions to the required APIs to optimise your system's security.

How to access and enable permissions

  1. Go to System / Roles.

  2. Select the 'web_services' role.

  3. Navigate to Roles / APIs.

  4. Review the available permissions.

  5. Edit and check the permissions you need.

Earlier updates