Changelog

What's new in TacDesk

24 releases
v1.11.5
  • **TacBot can now take action.** Beyond answering questions, TacBot can now create and edit shifts, reassign guards, approve or decline time-off requests, mark reports reviewed or escalated, send praise and direct messages, post memos, broadcast push notifications to guards on duty, and update vehicle defect statuses. Just ask — "add a shift for John tomorrow 18:00–02:00 at Eastgate with a £20/h uplift and post it to the marketplace" works. **Every action shows a confirmation card with tick / cross / revise** before anything is saved — TacBot never acts without your approval.
  • **Performance review on demand.** "Compile a performance review for Sarah for the last 30 days" — TacBot pulls together attendance, punctuality, recent reports, and SIA licence status into a single brief you can read on your phone before a 1-to-1. Optionally save the review as a note to the guard's record with one tap.
  • **SIA licence checks built in.** Ask "whose SIA expires in the next 60 days?" or "check John's licence" and TacBot looks it up against the live SIA register and reports back.
  • **Suggested-prompt buttons** appear under the welcome message on a fresh chat — one-tap starters for the most common things like vehicle defects, pending time-off, or compiling a performance review.
v1.11.4
  • **TacBot — AI Assistant.** Ask TacDesk questions in plain English and get answers straight from your live data. "How many guards are clocked in?", "Are there any unreviewed incidents this week?", "Which guards are consistently late?" — TacBot looks it up for you without navigating menus or running reports manually. Available to Managers and Senior Managers on accounts with the AI Assistant add-on.
v1.11.3
  • **Compliance pages — white-screen prevention.** The Compliance Overview page now degrades gracefully if one of its sub-sections fails to load; you'll see a clear error message in just that section instead of an empty page.
  • **Clearer billing emails.** If a card payment needs confirmation or fails, you now get a clear message with a link to fix it, plus a heads-up before any access is paused.
  • **Settings page on mobile** — cards now fill the screen properly instead of sitting inside huge whitespace borders, and the rightmost tab (Notifications) is fully visible at the end of the tab strip.
  • **Praise Templates buttons** — the Add, Save, and Remove buttons in Settings → Praise Templates are now properly styled to match the rest of the app.
  • **Management Dashboard mobile** — the four headline stat tiles (Guards On Duty, Reports Today, Check Calls Today, Incidents Today) now lay out as a 2×2 grid on mobile instead of stacking in a single column.
  • **Custom Dashboard mobile** — the widget grid scales cleanly across screen sizes: up to 5 columns on wide monitors, 4 default, 3 on small laptops, 2 on phones, 1 on the smallest screens. No more widgets overflowing off-screen.
  • **Active Patrol Monitor on mobile** — the live map now consumes the full width of the screen so you can actually read the map on a phone.
  • **Report Maps on mobile** — patrol track maps are now sized appropriately for a phone screen so stats and playback controls stay on-page.
  • **Shift breakdown modal on mobile** — the modal now uses the full width of the screen and the table cells are sized for touch, so you can review and approve shifts on a phone.
  • **Tables on mobile — rightmost columns no longer hidden.** Tables that scroll horizontally (Staff list, Client list, Shift breakdowns, Hours arbitration and others) now reliably scroll far enough to reach the rightmost action buttons. Previously the scroll stopped short and the last column was permanently out of reach.
  • **Hours Arbitration error message** — when shifts fail to load, the panel now shows a clearer message and the underlying error is logged so the team can fix the root cause faster. (No longer the generic "An error occurred" with nothing actionable behind it.)
v1.11.2
  • **Self-service SIA licences** — guards can now add and edit their own SIA licence details directly from My Profile.
  • **Manage your own passkeys** — set up and remove passkeys from the Guard Hub Settings tab. Passkey support also extended to the Android app.
  • **Offline patrols** — start and end a patrol with no signal; it syncs automatically once you're back online.
  • **NFC on iOS** — scanning an NFC tag now opens the app directly, even from the lock screen.
  • Clock-in/out overhauled with instant on-screen refresh — no more manual page reload after clocking in or out.
  • Start Patrol and Stop Patrol now update in place instead of requiring a refresh.
  • Faster, more reliable messaging — push-triggered updates, quicker delivery, and a fix for Messages getting stuck loading on the Android app.
  • Help Centre expanded and refined — clearer articles, articles filtered to what your account can access, and dark-mode polish.
  • My Profile redesigned — SIA Licences now have their own card with a mobile-friendly stacked layout.
  • My Reports section redesigned for a cleaner, more consistent layout; Reports tab now shows two columns on mobile.
  • Manager on-call toggle updates instantly without a full page reload.
  • Custom client pricing is now managed directly from the client Edit screen; billing periods simplified to Monthly, 6, 12 or 24 months.
  • Removed remaining "WordPress" references from user-facing screens.
  • Replaced browser pop-up dialogs with consistent in-app dialogs across the app.
  • Improved reconnection after losing signal; the in-app browser now uses tacdesk.co.uk.
  • Performance and stability hardening to reduce server load.
  • Patrol report times, message timestamps, repeat-daily dates and coupon timestamps now display in the correct timezone — no more 1-hour offset during British Summer Time.
  • Fixed a critical issue where buttons across the Guard Hub stopped working.
  • Fixed Guard Hub controls becoming unresponsive after the Android app was locked and resumed.
  • Fixed Start Patrol and Stop Patrol silently failing or needing a manual refresh.
  • Fixed passkey sign-in and registration failing with an error; the passkey panel now respects dark mode.
  • Fixed offline GPS location pings being dropped — queued locations now sync on reconnect.
  • The "Tracking your location" notification now clears properly after you clock out.
  • On-shift notifications no longer arrive three times — you now get a single notification.
  • Fixed the clock-in button disappearing after a successful clock-in.
  • Fixed the "Guards On Duty" board occasionally dropping on-duty guards on large teams, and clocked-in board flicker on the management dashboard.
  • Fixed unresponsive top tabs on the Management Dashboard.
  • Fixed a network error when viewing shifts in Guard Hours, and made the page load faster.
  • Fixed offline report syncing getting stuck in a loop; report submission now gives clearer feedback.
  • Fixed duplicate messages appearing on iOS.
  • Fixed the Patrol Report form being stuck in light mode.
  • Fixed an invisible white-on-white "Remaining Hours" figure on the Request Time Off screen.
  • Fixed bottom-navigation flicker and the "More" button not responding on the native app.
  • Fixed mobile scrolling on the Compliance sub-tabs.
  • Fixed Settings sub-tab and Recent Reports widget clipping on mobile screens.
  • Fixed a permissions error that blocked Client Portal users from viewing patrol tracks.
  • The check-call widget now hides from your dashboard when you're clocked out.
v1.11.1
  • Cleared a stray system message that was appearing on the management Footage tab when an archived video was missing its archive date. Missing dates now show as "—" across the app instead of leaking a warning into the page.
v1.11
  • A `?` button at the top of both the Guard Hub and Management Hub opens a searchable Help Centre drawer.
  • Guards see step-by-step articles for clocking in, filing reports, patrols, shifts, BOLOs, lockdowns and more.
  • Managers get articles covering every dashboard, report approval flow, scheduling tool, and admin setting.
  • Articles only appear when the relevant feature is enabled on your subscription, so you only see what's relevant to your account.
  • Search across titles, keywords and content. Browse by category. Cross-linked related articles.
  • Replaces the older floating-help button that was management-only.
  • New Compliance section in the Management Hub with dedicated Martyn's Law tools.
  • Set each venue's tier (Standard 200–799 / Enhanced 800+) and assign a Responsible Person.
  • Site Security Plan generator — one-click PDF aggregating procedures, training, drills, checkpoints and incident history per venue.
  • Risk Assessment form covering monitoring, movement, physical safety and information security; versioned with sign-off and review-due tracking.
  • Lockdown / Invacuation / Evacuation broadcast — managers can alert all guards on-site instantly; guards respond with Acknowledge / I am Safe / Need Assistance, all logged with GPS.
  • Drill / Exercise report type for evidencing regular practice.
  • SIA Evidence Pack — single ZIP download bundling everything an inspector might ask for, over a chosen date range.
  • Add passkeys for faster, password-free sign-in. Set up under your profile, or in management settings, require a passkey for specific staff or roles. Passwords still work as a backup.
  • Restructured the main stylesheet for maintainability. No visible change for users — the deployed CSS is byte-identical to before.
v1.10
  • Fixed messaging tab layout regression in installed PWA (sidebar header was being pinned behind the OS title bar by an overly-broad CSS selector that's now scoped to the WordPress site header only).
  • Resolved the long-standing "stale CSS in installed PWA" issue at its architectural root. Asset URLs now change automatically whenever the underlying file changes, so every cache layer (browser, proxy, service worker) sees a fresh URL after every deploy. No more refresh tricks or cache-clear workarounds needed.
v1.9
  • Final round of CSS/JavaScript freshness hardening for installed PWAs — every asset request now uses a unique URL per fetch, defeating any caching layer that might serve stale content. One-time cache reset for any users still stuck on the old asset lineage.
v1.8
  • Further hardened CSS/JavaScript freshness in installed PWAs — the service worker now bypasses the browser's intermediate cache layer to always reach the origin server.
  • App updates now apply on the very next refresh after a deploy. Previously, CSS and JavaScript could lag by one extra refresh cycle.
  • Eliminated the spurious "Update available" prompt that some users saw on every hard refresh.
  • One-time cache reset for any users stuck on old assets — happens automatically on the next page load.
  • Installed PWAs now show freshly-deployed CSS and JavaScript on the very next refresh, with no Clear Site Data workaround. Offline users still get instant loads from local cache.
v1.5.431
v1.5.370
  • **Finance Dashboard** — new overview with KPI cards, revenue vs cost trend charts, client revenue distribution, and period-over-period comparisons
  • **Invoice Generation** — create invoices from shift data, track status (draft/sent/paid/overdue), and download professional PDF invoices
  • **Contract Profitability** — health indicators per client (green/amber/red), 6-month trend sparklines, and at-risk contract flagging
  • **Rate Management** — missing rates wizard, bulk rate editing for guards and clients, and margin comparison analysis
  • **Overtime Reports** — weekly overtime breakdown with Working Time Directive (48h) breach alerts and cost estimates
  • Finance tab now has sub-navigation: Dashboard, Guard Analysis, Client Analysis, Invoices, and Reports
  • Guard Analysis includes actual vs scheduled hours toggle with variance tracking
  • Financial Projections redesigned with confidence bands, break-even analysis, and seasonal pattern detection
  • Interactive Chart.js charts throughout the finance module
v1.5.332
  • New: Holiday Accrual Mode - automatically calculates holiday entitlement at 12.07% of hours worked (UK statutory minimum)
  • Guards see their accrued hours, used hours, and remaining balance when requesting time off
  • Managers can switch between Fixed Allocation and Statutory Accrual modes in Holiday Settings
  • Manual hour adjustments available for managers with statutory minimum warnings
  • Daily automatic recalculation based on clock-in data
v1.5.303
  • Improved offline reliability: pages now auto-recover when returning online
v1.5.211
  • Fixed offline navigation: cached pages now load correctly when switching tabs offline
v1.5.144
  • New: Digital Occurrence Book (DOB) for ACS compliance - chronological log of all site activity including clock events, reports, checkpoint scans, and notes
  • Guard view shows today's timeline when clocked in
  • Management view with site and date filters
  • PDF export for any date range
v1.5.133
  • Client Portal users can now create report maps
  • Added helpful descriptions to portal tabs
v1.5.131
  • Client Portal now shows Report Maps and Shared Footage tabs
  • Clients can view mind-map visualisations of linked incidents
v1.5.124
  • New: Recurring Shifts - create weekly or monthly repeating shifts from the rota calendar
  • Shifts are generated in batches (up to 12 weeks ahead)
  • Recurring shifts show a visual indicator on the calendar
  • Individual shifts remain independently editable
v1.5.109
  • Improved site registration: faster retry after billing issues
v1.5.97
  • Cleaner Management Hub: tabs for features you don't have are now hidden instead of showing as locked
v1.5.96
  • Account limits now enforced: see your remaining user slots when adding guards
  • Storage limits enforced with clear usage indicator
  • Feature access properly gated based on your subscription
v1.5.0
  • New: Configurable billing with annual discount option
  • New: Extra Users add-on for teams that need more than the plan limit
  • New: Simplified billing portal with unified subscription management
  • Plan cards redesigned for easier comparison
v1.4.0
  • New: Dispatcher Mode - live guard tracking with incident timeline
  • New: DVLA Integration - automatic MOT and tax status checks for fleet vehicles
  • New: BOLO System - Be On the Lookout alerts for persons and vehicles of interest
  • New: Kit Management - track equipment issued to guards
  • New: Third-Party Access - secure time-limited links for FOI and police requests
  • Rota calendar now has "By Staff" and "By Site" views
  • GPS geofencing validates clock-in locations
  • Video footage system supports large file uploads
v1.3.0
  • New: NFC Checkpoints - scan NFC tags during patrols
  • New: Check Call System - automated guard welfare checks
  • New: Holiday Management - track allowances and time off requests
  • New: Video Footage - upload and link body-cam and security footage to reports
  • Install TacDesk as an app on your phone (PWA support)
  • Dark mode toggle
  • Push notifications for shift assignments
  • **Fixed guards being unexpectedly logged out** - Guards will no longer be logged out when the app is left open for extended periods. The system now silently refreshes authentication in the background, only redirecting to login when the session has genuinely expired.
  • **New**: Filter reports by individual staff member on the Reports page
  • **Xero integration — invoice round-trip (BETA).** TacDesk now pushes invoices to your Xero account when you mark them as sent, and pulls payment status back hourly so your dashboards stay current.
  • **Customers tab** — push your clients to Xero as Contacts so invoices have somewhere to go.
  • **Automation** — opt-in monthly auto-invoice generation and daily chase-email cadence (14/30/60/90 days).
  • **AR aging widget** on the management dashboard — see who owes what at a glance.
  • **Per-client P&L drilldown** — click "View P&L" on any client to see revenue, cost, margin, and a shift-by-shift breakdown for any period.
  • **Margin guardrail** — when you edit a client's charge rate the system now warns if the rate drops below typical pay rates.
  • **In-app Xero help** — new Help tab inside the Accounting hub explains everything that syncs, when, and how to troubleshoot.
  • Fixed a fatal error in the earnings-rate fetch path on the Accounting integration.
  • Added a clearer beta banner on the Accounting hub explaining the integration is unverified against a live Xero organisation.
  • The "Arbitration" tab is now called **Hours Review** with a much friendlier interface designed for HR generalists, not financial controllers.
  • New one-screen workflow: see scheduled hours next to actual clock-in/out hours for every shift in a week, with amber highlights on mismatches. One click approves a whole week of matching shifts.
  • You can now **edit clock-in/out times directly** when a guard mis-clocked, or add a missing clock-out, all from the Hours Review tab.
  • "Hours to pay guard" and "Hours to charge customer" can now be set separately — useful when a minimum-billing rule means you charge the customer more than the guard worked.
  • **Invoice push to Xero is now deliberate**: invoices no longer auto-push when marked as sent. You review hours, approve them, then click "Send to Xero". A bulk "Send all ready invoices" button is provided for end-of-month batch sends.
  • Status badges on the invoice list make it obvious at a glance whether an invoice still needs review or is ready to go.
  • The Help tab now opens with a five-step "How a typical month works" guide; technical setup details are tucked away behind an admin disclosure.
  • The "ACS Compliance" add-on has been renamed to **Compliance** and now also unlocks Martyn's Law / Protect Duty tools — existing customers don't need to do anything; access is preserved automatically.
  • Failed payments now have a grace period before account access is paused — TacDesk can configure the length globally and per customer, and no data is ever deleted during a pause.