Skip to main content

Version 1.12.0 13 July 2026

Release notes for Pooltrackr web app version 1.12.0 — new features, improvements, and bug fixes.

🆕 New Features

Convert Single Job to Recurring

You can now convert an existing one-off job into a recurring job directly from the job detail page, no need to delete and recreate it. Apply a recurrence pattern to any eligible job in a single step and everything is preserved: the job history, details, and any notes already added.

Job Template Default Recurrence Pattern

Job templates can now carry a default recurrence pattern. When a new job is created from a template that has one set, you'll be prompted to apply it with a single tap. The full custom recurrence path is still available as a fallback, so schedulers get the speed of a sensible default without losing any flexibility.

Payment Management: Details, List and Manual Recording

A dedicated payment management section is now available in the portal. Admins can:

  • View a full list of payments across all jobs and invoices

  • Open individual payment records to see the full transaction detail

  • Manually record payments against invoices where needed, useful when a payment is taken outside the system or through a different channel

This gives billing teams clear visibility and control without having to rely solely on automated payment gateway updates.

Store Locations as Route Start Points

Route optimisation now uses a technician's assigned store location as the starting point for their daily route. Previously all routes started from a single fixed point regardless of which branch a technician operates from. This makes optimised routes more accurate for businesses running across multiple locations.

Improvements to existing features

Job Reminders: Re-send SMS When Job is Rescheduled

When a job is rescheduled, the SMS booking reminder is now automatically re-sent to the customer to reflect the new time. The reminder status on the job resets so the updated send can be tracked, and the reminder status is now visible directly on the job detail page so schedulers can see at a glance whether the customer has been notified.

Manual Sync for Products and Contacts Across All Integrations

You can now trigger a sync of products and contacts on demand from the integration settings page, without waiting for the next scheduled run. This is particularly useful after bulk catalogue changes in your accounting or POS system, or when you want to confirm a sync has picked up recent changes straight away.

Seasonal Recurrences in Import

The recurrence import tool now supports seasonal recurrence patterns. Previously only standard patterns were handled, so seasonal jobs had to be added or adjusted manually after import. You can now include jobs that only run during specific months of the year directly in your import file.

Marketing Opt-in Flag from Lightspeed

The Lightspeed integration now syncs the marketing opt-in preference from customer records. This flag is read-only and reflects what is set in Lightspeed, giving your team visibility into which customers have opted in to marketing communications without needing to check Lightspeed separately.

QuickBooks: Updated Webhook Support

The QuickBooks integration has been updated to handle the new webhook payload format that QuickBooks rolled out earlier this year. This ensures that changes made in QuickBooks continue to sync back to Pooltrackr reliably for all connected accounts.

🐛 Bug fixes

Invoice Creation Timeout

Some users were getting stuck on the invoice creation page due to a timeout during the creation process. The page would appear to load indefinitely with no error message and no way to proceed. This has been resolved and invoice creation now completes reliably.

Xero Contact Sync: Updates Not Pulled for Non-Customer Contacts

Xero contact sync was not picking up changes for non-customer contacts, including contacts that were originally pushed from Pooltrackr into Xero. Any update made to those contacts in Xero would be ignored on the next sync, meaning Pooltrackr held stale data. The sync now correctly processes updates for all contact types regardless of how they were originally created in Xero.

Did this answer your question?