September 3, 2026

Dashboards

Work Orders Dashboard

  • Corrected numeric calculations in Work Order charts to prevent values being combined as text.
  • Fixed incorrect months appearing in the Work Orders line chart.
  • Work Order priority categories with no records now display a zero value.

Work Requests Dashboard

  • Added Rejected By and Rejected Date fields to Work Requests.
  • Rejected Work Requests now record who rejected the request and when it was rejected.
  • Updated dashboard totals to include both approved and rejected Work Requests as closed items.
  • Fixed incorrect days appearing in the bar chart.
  • Improved axis label visibility to prevent labels from being truncated.

Work Orders and Planning

  • Added a multi-editor for bulk updating key Work Order fields, including scheduled dates.
  • Standardised the terms Scheduled Start and Scheduled End across the application, replacing the previous Due Date terminology.
  • Work Orders can now be added to In Progress events from the Event Planner.
  • Added a colour key to the Event Planner to identify Pending, In Progress and Completed work.
  • Work Orders created from Task Management now use the Task Description as the Work Order Description.
  • Added the pricing date when adding a part to a Work Order, defaulting to today’s date.
  • For plant hire assets, Work Orders now include a Customer Details tab showing the customer, project and contract information.

Tasks and Action Items

  • Task searches on the Tasks page now search across assets.
  • Asset Action Items now show both open and completed items by default.
  • Added colour coding to usage dates on the Asset and Task screens, making assets with stale meter readings easier to identify.

Timesheets and Labour Costs

  • Timesheets can now be created for contractors as well as employees.
  • Contractor and employee timesheets are managed from the same Timesheets screen.
  • Timesheets can now be entered in the mobile app, either directly or against a Work Order.
  • Hourly rates can now be recorded against contractor and employee profiles.
  • Work Order actual labour costs are calculated using the recorded hours and the person’s hourly rate.

Assets and Meter Readings

  • Fixed an issue that prevented an asset’s Department from being changed and saved.
  • Added Warranty Status to the Asset Editor header.
  • The Asset Summary Report now includes month-to-date and previous-month usage.
  • Added a stale meter reading filter to the Assets page.
  • Assets can be filtered by those without a reading for more than 1, 3, 5, 7, 14 or 30 days.

Forms

  • Fixed an error when assigning a Form without selecting an Asset from the Work Assignment page.
  • Starting a Form on the desktop now requires a Department selection, matching the mobile app workflow.
  • Fixed an issue where completed Forms could sometimes lose the Asset number in the mobile app.

Mobile App and QR Codes

  • Scanning a Work Order QR code from a printed Work Order now opens the corresponding Work Order in the mobile app.
  • Scanning an Asset QR code now opens the corresponding Asset details in the mobile app.

Reports

  • Added additional fields to the Work Orders report base table.
  • Added Work Order filters for Overdue and Confirm Completion.
  • Aligned Work Order report filters with those on the Work Orders page.
  • Updated two-option filters to support Yes, No and All.
  • Added the ability to hide the report filters panel to provide more space for report results.
  • Added a Meter Readings report base table.
  • Added the latest meter reading to the Assets report base table.
  • Added reporting filters to identify assets without a meter reading for more than a specified number of days.

Xero Integration

  • Improved Xero connection resilience and reduced the likelihood of connections being lost.
  • Staggered scheduled bill, supplier and account synchronisations to reduce token conflicts.
  • Added a configurable date range for bill retrieval to help avoid Xero throttling limits.
  • Added configurable token-request timeouts, defaulting to 15 seconds.
  • Added a configurable token-expiry buffer, defaulting to five minutes.
  • Improved token refresh locking to prevent unnecessary or conflicting refresh requests.
  • Strengthened database transaction and connection cleanup during token refresh failures.
  • Added safe token refresh diagnostics without logging sensitive access or refresh token values.
  • Preserved connection state and existing refresh tokens following ambiguous invalid_grant responses.
  • Prevented older Xero settings or account mapping data from overwriting newly rotated credentials.
  • Added configurable concurrency limits for scheduled tenant synchronisations, defaulting to four tenants at a time.
  • Added regression testing for OAuth failures, connection-pool failures and transaction-startup failures.