How to Bill Clients Accurately for Guard Hours
Guard companies live on the spread between billed hours and paid hours, and paper records leak it in both directions. Here is how to make every invoice match what actually happened so you stop losing margin and losing disputes.

You Live on the Spread. Paper Leaks It Both Ways.
Your margin is the gap between what you bill the client per hour and what you pay the guard per hour. It’s thin, and it only holds if both numbers are right. But when your hours come off paper logs and schedules, both numbers drift — and they drift in both directions at once.
Sometimes hours you genuinely worked never make it onto an invoice, because a covered shift got mis-assigned or a log got lost. That’s revenue you earned and gave away for free. Other times hours get overbilled — rounded up, double-counted across a rotation, or invoiced straight off a schedule for coverage that didn’t actually happen. The credit you issue is the small cost. The real cost is trust: a client who catches one overbill starts auditing every invoice you send.
So accurate billing isn’t a back-office nicety here. It’s the difference between keeping your margin and keeping your contracts.
The Four Ways Paper Billing Leaks Margin
Billing the schedule instead of the actuals. This is the easiest shortcut and the most dangerous one. The schedule says the post was covered 10 to 6, so that’s what gets invoiced — even on the night the guard showed up late or not at all. You’re billing for a plan. And the day a client proves a gap you invoiced, you’ve got a much bigger problem than a credit.
Rounded and mis-assigned hours. Times written from memory round up. And coverage that moves between client posts gets attached to the wrong account. One client is overbilled into a dispute, another underbilled into lost revenue, and you can’t even tell which is which.
Hours that never get billed. A last-minute covered shift. A guard who stayed late to plug a gap. An emergency post. Real work that falls through the cracks of a paper process and never reaches an invoice. Pure lost revenue — invisible, because you never knew to look for it.
No proof behind the line. When a client questions an invoice, “the log says so” doesn’t carry much weight if the log was handwritten by the guard. Without backup you can verify, disputes default to the client’s favor, and you eat hours you actually worked.
What Accurate Billing Needs
The fix is to bill from verified clock events, not from plans or memory.
Invoice the actuals, with proof on every line. Each punch is timestamped, GPS-stamped, and tied to a client post, so the billed hours are the hours actually delivered at that site — and every line has a defensible record of presence behind it. You bill what happened. When a client asks, you show the file instead of arguing.
One record feeding payroll and billing. Because every punch is tied to a guard and a client, the same events total by guard for pay and by client for billing. Now the pay-bill spread is visible per contract, so you can see which clients are actually profitable. And the two sides reconcile, because they come from one verified source instead of two paper trails that never agree.
Nothing falls through. Covered shifts, stay-overs, emergency posts — they’re captured as clock events the moment they happen, so the work that used to vanish before invoicing now shows up as billable hours. Closing that one leak often recovers more than the software costs.
Period-end billing without the scramble. When hours are verified and totaled by client as the period runs, invoices go out on time, built on records you can stand behind — instead of waiting on someone to transcribe a stack of logs first.
ShiftFlow gives you the verified, client-tagged hours and exports them as PDF or CSV. It’s not an invoicing or accounting package, and it doesn’t generate the invoice itself. The point is to feed accurate, provable hours into whatever billing system you already run, so the numbers you invoice from are real.
What Stops Leaking When You Bill Verified Actuals
Bill from verified actuals and the hours that used to vanish get invoiced. The overbills that used to become disputes stop happening. Every line you send holds up when a client looks closely. You protect both the margin on the work and the relationship with the client you do it for.
If your invoices are built on schedules and handwritten logs, see how a time clock built for security teams gives you client-tagged, verified hours to bill from, or put ShiftFlow on your contracts and make every invoice match what actually happened.
Frequently Asked Questions
How do I make sure guard hours are billed accurately?
Bill from verified clock events instead of the schedule or a handwritten log. When each punch is timestamped, GPS-stamped, and tied to a client post, the billed hours are the hours actually worked at that site. You invoice what was delivered, with a record behind every line, instead of estimating from a plan that may not match reality.
Why do guard companies lose money on billing?
Paper records leak in both directions. Hours get rounded and mis-assigned, so some never get billed and the revenue is just gone, while others get overbilled and surface later as disputes and credits. And billing from the schedule means coverage gaps still go out on the invoice — the kind of error that costs you a contract when a client catches it.
Should I bill from the schedule or from actual clock-ins?
From actual clock-ins. The schedule is what you planned to deliver; clock-ins are what you actually delivered. Bill the schedule and you’re invoicing for coverage that may not have happened, which is indefensible if a post went unmanned. Bill verified actuals and every invoice matches reality and holds up when a client asks for proof.
Can the same hours feed both payroll and client invoices?
Yes. When every punch is tied to a guard and a client post, the records total by guard for payroll and by client for billing from one source. The pay-bill spread becomes visible per contract, and the two sides reconcile because they come from the same verified events instead of two separate paper trails that never quite agree.






