Field Operations Audit Case Study

Closing the gap between guard shift logs and client invoices.

Scellus helped a Malaysian security services company recover unbilled shift hours and cut monthly billing and payroll reconciliation from 5 days to under 2 hours, without changing how field supervisors report attendance.

Malaysian security services company / Malaysia / Deployed in 3 days; runs as a monthly audit cycle

15%Recovered monthlyRoughly 15% of total monthly billing was going unbilled before the audit.
<24hMissing-logbook chaseSupervisors are notified the next morning instead of waiting until month-end reconciliation.
1,200Shifts audited monthlyAround 40 guards on rotating shifts across a dozen client sites.
3dTime to deploymentNo new software for field supervisors, no IT integration.
0New tools for field staffSupervisors kept posting logbook photos to the same WhatsApp groups.

Executive summary

The client.

Field supervisors photographed handwritten logbooks and posted them to WhatsApp groups, one per site. That worked for supervisors. It left Finance and Ops with a stack of low-resolution images to convert into a billing and payroll spreadsheet by hand, every month.

Emergency stand-in shifts and public holiday coverage were the first things to get missed in that process, because they didn’t follow the standard roster and were easy to skip during manual entry.

Scellus built a workflow that reads the same WhatsApp photos, cross-references them against the shift roster and client rate card, and flags anything that needs a human decision before it reaches Finance.

On the first audit run, this caught roughly one shift in seven that had been worked and logged, but never invoiced — about 15% of that month’s billing.

The challenge

Manual reconciliation missed revenue on invoices and let overtime errors through on payroll.

Between the 1st and 5th of every month, Finance retyped thousands of handwritten timestamps from WhatsApp photos into a billing and payroll spreadsheet.

Two things went wrong at that scale. Unusual shifts (stand-ins, extra coverage, public holiday hours) got missed because they didn’t match the standard roster pattern staff were scanning for. Overtime claims went through unchecked, because cross-referencing hundreds of logbooks against contract rules by hand took too long to do properly every month.

  • Stand-in and holiday-rate shifts were the most commonly missed line items on client invoices.
  • Overtime claims passed through without verification against the client’s own contract rules.
  • Low-resolution or partially illegible photos were often entered as best-guess rather than flagged and re-requested.
  • The 5-day reconciliation window delayed both client invoicing and guard payroll.

The goal

Audit every shift against the roster and rate card, without changing how field staff work.

The goal wasn’t to replace WhatsApp or hand supervisors a new app to learn.

It was to catch what manual entry was missing, before the invoice or payroll run went out.

  • Recover billable hours currently lost to manual entry.
  • Catch unauthorized or miscalculated overtime before payroll, not after.
  • Chase missing or unreadable logbooks the same day, not at month-end.
  • Keep Ops in the loop on anything that needs a judgment call.

The solution

An audit workflow, not a new system for field staff.

Field supervisors keep posting logbook photos to the same WhatsApp groups. Finance uploads one shift roster and rate card in Excel. Scellus reads every photo, checks it against the roster and rate rules, and routes anything uncertain to a human before it reaches the reconciliation sheet.

How it works

Six steps between a logbook photo and a billable, payable shift.

  1. Collect

    Pulls the day’s logbook photos directly from the existing WhatsApp groups. No new upload step for supervisors.

  2. Read

    Extracts guard ID, site, date, and clock-in/clock-out times from handwritten or printed logs.

  3. Verify

    Checks actual hours against the shift roster and client rate card, applying day/night multipliers and public holiday rates set by the contract.

  4. Chase

    If a site’s logbook hasn’t arrived by the next morning, or a photo is unreadable, the supervisor gets an automatic WhatsApp reply: “No logbook received for Site 4, 14 July. Please resend or confirm no shift ran.”

  5. Review

    Anything outside the roster, a stand-in guard, or overtime beyond the client’s 2-hour pre-approval threshold, is flagged to the Ops Manager by name, with the reason, for a yes/no decision.

  6. Deliver

    Produces one reconciliation sheet, split by client site and by guard, ready for Finance to invoice and payroll to pay from.

Fits the existing workflow

The field process stayed the same. The checking changed.

Supervisors kept posting logbook photos to the same WhatsApp groups. Finance kept the roster and rate card in Excel. Scellus connected those existing inputs to the audit instead of asking either team to move into a new system.

Scellus collects each logbook photo, reads the shift details, and checks them against the approved roster and rate rules. Missing sheets and unreadable photos are chased while the shift is still recent.

We send uncertain entries, stand-in guards, and overtime past the approval threshold to the Ops Manager with the source and reason attached. The manager keeps the decision. Finance receives the checked output in the reconciliation sheet it already uses.

Technologies

  • WhatsApp intake
  • Handwriting and image extraction
  • Roster and rate-card matching
  • Exception queue
  • Reconciliation export

Results

The first audit run recovered 15% of monthly billing in shifts that were worked but never invoiced.

Beyond the one-time recovery, the audit changed the monthly cycle itself: from a multi-day manual retype to a same-day review of flagged exceptions.

  • 01

    Stand-in and holiday shifts stopped falling off the invoice

    Shifts that didn’t match the standard roster pattern were the most commonly missed before the audit. They’re now the ones checked most closely.

  • 02

    Overtime claims are checked against contract, not assumed

    Claims past the client’s 2-hour pre-approval threshold are flagged to the Ops Manager instead of passing straight to payroll.

  • 03

    Missing logbooks get chased same-day

    Supervisors hear about a missing or unreadable photo the next morning, not during month-end reconciliation.

  • 04

    Finance and payroll work from one sheet, not a stack of photos

    The reconciliation export is split by client site and guard, ready to invoice and pay from directly.

Measured improvement.

Why this matters

The leakage wasn’t a data problem. It was a review-capacity problem.

The company already captured attendance correctly. Supervisors logged shifts, photographed them, and posted them every day.

What manual reconciliation couldn’t do was check 1,200 shifts a month against a roster and rate card carefully enough to catch the exceptions. The audit didn’t change what was recorded. It changed what got checked.

The audit didn’t change what supervisors recorded. It changed what got checked before it reached an invoice.

In their words

We knew we were losing money somewhere, but we couldn’t figure out where. The first audit picked up stand-in shifts we’d never have caught ourselves. Payroll went from a week to just one afternoon.
Ahmad F.Operations Manager, Security services company, Kuala Lumpur, Malaysia

Losing billable hours to manual shift reconciliation?

This applies beyond security. Cleaning, facilities, and field maintenance teams run into the same gap between attendance logs and billing. Scellus can audit your current process in a 3-day proof of concept.