TacDesk
All features
The TacDesk way

Invoice Clients From Worked Shifts

Build a client invoice from the shifts your guards actually worked, not a spreadsheet rebuilt from memory. Security company invoicing that starts from the rota, not the calculator.

Availability: On every paid plan

Generating an invoice isn't gated behind its own entitlement flag, but invoices are billed to a client account, and Client Portal, the feature that gives a client an account at all, is on every paid plan, not TacFree. Check the pricing page for the current plans.

It's the end of the month and the invoice run is due. Before you can send a single one, you need to know who actually worked, for how long, and whether the hours match what you agreed with the client. That usually means cross-checking a rota against a stack of timesheets before you've written a single line item.

What most security firms do today

A spreadsheet, rebuilt every month from a rota tab, a timesheet someone photographed or typed up, and a WhatsApp thread where a guard clocked off late and nobody adjusted the sheet. Disputed hours get argued over after the invoice has already gone out, and by the time the client queries a line, the guard who worked it can barely remember the shift.

It's slow, and it puts you in the position of asking a client to trust your arithmetic rather than showing them the record.

How TacDesk builds the invoice

When you generate an invoice for a client and a date range, TacDesk pulls the shifts on that client's rota that are marked confirmed or completed and turns each one into a line: the guard's name, the date, the start and end time, the hours, the client's agreed charge rate, and the amount. You don't retype a single shift.

The hours on that line aren't just what was scheduled. TacDesk's arbitration engine compares the scheduled shift against the guard's actual GPS clock-in and clock-out and works out the billable hours using rules you set: a grace period around the shift boundary, rounding, and a minimum billable amount. That decision is made automatically for every shift, and you can override any individual one by hand if there's a genuine reason to, with the override recorded against the shift. Either way, the hours on the invoice are the hours the arbitration engine settled on, not a number typed in after a guess. It's the same clock-in and clock-out record described on the GPS clock in and out page, used for billing rather than just attendance.

Not every client is billed by the hour. A client's billing mode can be set to per hour, per patrol visit, per round, per callout, a fixed monthly fee, or a monthly retainer, and TacDesk builds the right kind of line items for whichever one applies, so a static-guarding contract and a mobile patrol contract don't have to be forced into the same invoice shape.

You can generate an invoice on demand for any client and period from the finance screen. If you'd rather not run that every month by hand, there's an optional automatic run: switched off by default, and when you turn it on it runs overnight on a day of the month you choose, drafting an invoice for every active client covering the previous calendar month and skipping any client that already has one for that period, so nobody gets billed twice. Each invoice carries a tax rate you set when it's generated, and moves through draft, sent, overdue and paid as you work it. You can export any invoice as a PDF to send to the client.

Invoices that go unpaid get flagged as overdue automatically rather than relying on someone remembering to check the list. There's also an optional chase-email run, off by default, that sends a reminder to the client when an overdue invoice crosses a day-count you set (14, 30, 60 and 90 days overdue out of the box), and it keeps track of which reminder an invoice has already had so a client isn't chased twice for the same step.

Why it matters

The number on the invoice is defensible. If a client queries a shift, the answer is the clocked-in time and the rule that produced the billable hours, not "that's what we usually charge."

Nobody's chasing timesheets to build a bill. The rota and the clock records are already there; the invoice is assembled from them, not rebuilt from a paper trail every month.

Overdue invoices get followed up without you remembering to. The chase run and the overdue flag mean a slow payer gets a reminder on schedule, not whenever someone next opens the finance screen.

Where it sits

Invoicing runs off your rota and client records, both of which need a client account set up in TacDesk, and Client Portal, the feature that gives a client that account, is on every paid plan, not TacFree. The pricing page has the current plan list.

If you also run payroll through Xero, worked hours can flow the same way into payroll timesheets: see the Xero payroll integration page. And if you're setting up the rota this pulls shifts from, see rota and scheduling.

Start free to see the rota and clock-in side of this, or book a demo to see a full invoice run.

See it on your own sites

Sign up free and have a look yourself, or book half an hour and we'll walk you through it.