Skip to main content

Changelog - 10 August 2026

Our latest release focuses on strengthening integration capabilities and improving day-to-day workflow efficiency across the platform.

New API endpoints have been added to give better visibility into contract billing and maintenance history, along with safer, more controlled ways to remove events and budget adjustments when needed. A previous issue affecting bulk event creation has also been resolved, making batch processing more reliable and transparent.

On the user-facing side, quoting has been enhanced with clearer visibility into on-road charges, scheduled billing now offers more flexible filtering between Fleet and Novated contracts, and a new Trust Center link makes it easier to find information on security, privacy, and compliance.

🔌 New API Release

We've introduced four new APIs in this release:

  • getContractBilling & getContractBillings — return a Contract's posted Billing/Invoice line items in the same detail shown on the Billing/Re-Print screen

  • deleteContractEvents — removes a Contract Event using the same soft-delete behaviour as the legacy Events screen

  • getContractMaintenance — returns a Contract's maintenance history without going through the Approvals workflow

  • deleteContractBudgets — removes a pending Adjustment or Credit budget line under the same rules as the legacy Lease screen's Delete button

getContractBilling & getContractBillings

For each billing record, the API returns:

  • Invoice Type

  • Invoice Number and Batch Number

  • Billing Period (from and to dates)

  • Net Amount, GST Amount, and Gross Amount Received

  • Invoice Date and Posted Date

  • Status and Credit Note Flag

To ensure results are meaningful and easy to consume:

  • Deleted billing records are never returned, regardless of any filters supplied.

  • History-only, pending, and posted records are all included — there's no status filter to configure.

  • Results can be filtered by contract, client, invoice number, batch number, invoice type, and invoice date range, and are paginated for larger result sets.

The API also includes validation to ensure:

  • The specified billing record or contract exists.

  • The caller has the required Contract Billing:Get permission.

These new APIs provide a reliable source of contract billing history for integrations and automated processes, making it easier to reconcile invoicing data without going through the Billing/Re-Print screen.

deleteContractEvents

To keep event data safe when deleting, the API also:

  • Consolidates the deletion into a single soft-delete update — the record's status is set to deleted and it's never physically removed.

  • Cascades the deletion to any linked attachment, and to any pending or failed mail for mail-class events, without affecting mail that's already been sent.

  • Rolls back all related changes together if any part of the deletion fails, so nothing is left half-deleted.

The API also includes validation to ensure:

  • The event isn't currently locked by another user or process — if it is, no changes are made.

  • The caller has the required Contract Events:Delete permission.

This new API gives integrations and automated processes a reliable, permission-checked way to remove Contract Events without needing to go through the legacy screen.

getContractMaintenance

To ensure results are meaningful and easy to consume:

  • Deleted maintenance records are never returned, regardless of any filters supplied.

  • Results can be filtered by contract, posting class, client, supplier, and invoice number — filters are combinable and results must match all of them.

  • Results are paginated, defaulting to 25 records per page.

The API also includes validation to ensure:

  • The specified contract, posting class, client, or supplier exists.

  • The caller has the required Contract Maintenance:Get permission.

This new API gives integrations and automated processes a reliable way to retrieve a vehicle's maintenance history directly from Catch-e.

deleteContractBudgets

To keep budget data safe when deleting, the API also:

  • Writes a single audit record for the deletion, matching legacy audit behaviour.

  • Protects against two concurrent operations on the same contract corrupting data — one call succeeds, the other is safely rejected with no changes made.

The API also includes validation to ensure:

  • The targeted line isn't a Periodic line — these can only be adjusted to zero via updateContractBudgets, not deleted.

  • The targeted line is still pending — lines that have already progressed can't be deleted.

  • The caller has the required Contract Budgets:Delete permission.

This new API gives integrations and automated processes a reliable, rule-checked way to remove pending budget adjustments without needing the legacy Lease screen.


🐞 Bug Fix: More Reliable Batch Creation for createContractEvents API

We've fixed an issue with the createContractEvents API where submitting more than one contract event in a single request could fail with a generic server error instead of the actual cause of the problem.

Batch requests to create contract events now behave as follows:

  • All events in a batch are created together as a single transaction — they're only saved once every event in the request has passed validation.

  • If any event in the batch fails validation or hits a database constraint, the entire batch is rolled back, so no events from that batch are created (including any earlier events that were individually valid).

  • The response now returns the actual validation or database error that caused the failure, rather than a generic, unhelpful error.

Additional Details

  • Requests containing a single event are unaffected by this fix and continue to behave as before.

  • Successful multi-event requests continue to return all created records in the response.


📊 Total On Road Charges Subtotal on Quotes / Vehicle screen

Users can now see a new Total On Road Charges subtotal on the Quotes / Vehicle screen, giving a clear, single figure for the government charges within a vehicle quote.

This is available when:

  • A vehicle variant has been selected on a quote.

  • Luxury Car Tax, Initial CTP, Initial Registration, Premium Plate, and Purchase Stamp Duty values have been calculated for that quote.

Additional Details

  • The subtotal is shown as Net, GST and Total (gross) columns, positioned directly below Purchase Stamp Duty on the Vehicle screen.

  • Only Initial CTP carries a GST component in this subtotal — the other four charges don't attract GST here, matching the existing calculation model.

  • The Total On Road Charges figure is a component of the existing Total On Road Price, which continues to include the quote's other vehicle cost components as well.

  • The subtotal updates automatically whenever a change to the vehicle variant or optional equipment affects one of the underlying charges — for example, changing the vehicle variant recalculates Purchase Stamp Duty, and adding or removing optional equipment recalculates Luxury Car Tax.

  • If the vehicle is cleared (by changing make, model, variant or year), the subtotal — and the Total On Road Price — reset to $0.00.

  • This is a calculated, display-only figure; it isn't stored against the quote and is recalculated fresh each time the quote is loaded.


🔍 Contract Group Filter for Scheduled Billing

You can now filter Combined Billing and Periodic Billing scheduler jobs by Contract Group, so Fleet and Novated Lease contracts can be invoiced on separate automated schedules without manual intervention.

This is available when:

  • You are creating or editing a scheduled Combined Billing or Periodic Billing job.

Additional Details

  • New jobs default to "-- All --" (no filtering), so nothing changes for existing jobs unless you explicitly choose Fleet or Novated.

  • "Novated" includes only contracts classified with posting map group "novated" (e.g. Novated Lease, Novated Finance Lease); "Fleet" includes every other classification (Lease, Fleet Managed, Insurance, Salary Packaged, and non-billing arrangements) — Fleet and Novated are exact complements of one another.

  • Contract classification is evaluated each time the job runs, using the contract's current posting map — not the classification at the time the job was configured or last saved.

  • You can run separate jobs with different Contract Group values on independent schedules — for example, a monthly Fleet job on the 1st, and a Novated job that runs periodically throughout the month — and each is unaffected by the others.

  • Existing scheduled jobs saved before this change continue to run exactly as before, behaving as "-- All --".

  • The saved Contract Group value is retained when you reopen a job for editing.


🔒 New: Catch-e Trust Center Link

We're making it easier to access important security and compliance information.

The Trust Center provides a central location for information about our security practices, privacy commitments, compliance certifications, and platform reliability.

What you can find in the Trust Center:

  • Security and compliance information

  • Privacy and data protection resources

  • System reliability and operational practices

  • Answers to common security-related questions

📍 Where to find it: Bottom-left corner of the Catch-e Help Centre.