🆕 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.