Notes/Jun 2026
Jun 2026·8 min·Colby

A staffing coordinator counts the hours on every placement twice each week, once to pay the worker and once to bill the client. Those two numbers come from two sources that arrive on different days and almost never match. Friday morning gets spent reconciling them by hand.

How the client's timesheet arrives

At the client facility, the foreman or supervisor logs the hours. The agency does not run the clock. Whatever the client uses to capture time, a paper sign-in sheet or a building kiosk or a portal export, becomes the record the agency has to work from. The format, the accuracy, and the day it shows up are all the client's call.

Channels vary by client. One emails a scan of the signed timesheet on Monday. Another submits through a vendor portal that needs a login and a weekly export. A third emails the payroll coordinator directly, sometimes using a contact who left the agency months ago, and a fourth sends nothing until someone chases them. A coordinator covering thirty active placements across fifteen clients is tracking up to thirty separate submissions, every one from a different person and in a different shape.

By the time payroll has to close, some timesheets are in and some are not. The missing ones are not always late by the client's own clock. A client on a weekly billing cycle that settles Tuesday owes the agency nothing by Friday. The agency's payroll runs Friday to pay workers, and it does not wait.

The bill rate and pay rate problem

Every active placement carries two rates: the bill rate charged to the client and the pay rate paid to the worker. The spread is the margin. In the abstract that math takes ten seconds. It falls apart when the client's timesheet and the worker's record disagree about how many hours were worked, which shifts they applied to, or which job classification the hours fall under.

Say the client's signed timesheet shows an extra hour the worker never logged. Now there is an invoicing question: bill for what the client signed, or for what the worker recorded? A signed client timesheet usually controls for invoicing. But if the worker was not actually there for that hour, the agency has either billed wrong or paid for a shift nobody worked. The reverse hurts more. An hour the worker logged that the client's timesheet leaves out means the agency pays for hours it cannot bill, straight margin loss with no way to recover it.

Classification errors stack on top. A worker on a standard agreement earns overtime after forty hours in a week. When the client's timesheet does not split regular from overtime and the worker's record does, the two totals diverge before anyone starts reconciling. Each discrepancy carries a dollar amount, and each one waits on a person to pull both records, find the conflict, and settle it before payroll or the invoice can move an inch.

When the client has not approved

Standard practice in staffing is to invoice only against a signed client timesheet. The reason holds up: an unsigned timesheet is not an authorized billing event, and a dispute is easier to handle when the invoice matches a document the client already put their name on. Clients sign on their own schedule, though, not the agency's.

The approval gap opens between the end of the worker's week and the arrival of the client's sign-off. Workers expect to be paid on time no matter where client approval stands, and agencies pay them. Invoicing waits for the signature. So payroll closes against one record while invoicing sits in a separate queue, run by whoever is tracking which clients have returned timesheets.

That queue is usually a spreadsheet, a folder of email attachments, or whatever the coordinator can hold in their head. A normal week stays manageable. Now take a week where three clients have not returned timesheets, two placements carry classification questions, and one worker logged hours the client has not even seen. The queue turns into most of a day. The coordinator is not doing arithmetic, they are chasing approvals while the invoicing clock keeps running.

What a reconciliation layer closes

Workers already get tracked. Most agencies run some worker-side record, an app or a supervisor-confirmed portal entry or a structured intake, so adding another time-tracking method for them solves nothing. The gap is that the worker's record and the client's signed timesheet never sit side by side before payroll and invoicing run. Reconciliation happens by hand after both have already gone out, if it happens at all.

For one commercial staffing operation, we built a reconciliation tool that holds both records, worker hours and client-side timesheet, against each active placement for each week. The tool flags every discrepancy it finds: missing client approval, an hour count that does not match between the two sources, a classification conflict, an OT threshold applied one way on one record and another way on the other. Each flag is a numbered item with both source records visible and a fix field right there inline.

Worker pay processes once the worker-side record is confirmed. Client invoices generate once the signed timesheet lands and the two records agree. In a clean week the flag queue is empty, hours match, approvals are in, and payroll and invoicing close the same day. In a problem week the flags name the exact trouble: which placement, which shift, how many hours, which source is the outlier. Fixing one item does not mean rebuilding the whole week.

Before you build

Start with the rate table: every active placement, every client, every bill rate and pay rate and OT multiplier, checked against the actual invoices and payroll records from the last quarter. Agencies that grew through handshake rate agreements and client-by-client negotiation usually find this document does not live in any one reliable place. Building it takes about a day. It also drags out pricing surprises nobody was tracking, placements where the margin is thinner than anyone assumed and clients still riding rates set three years ago.

Next, the billing schedule. Some agencies bill weekly, some bi-weekly, some by project completion, and clients on the same roster often run on different schedules with different cutoff times. A reconciliation layer has to know what a closed week means for each client before it can call a timesheet overdue. Skip that and overdue has no definition, so the queue fills with noise.

Last, the approval workflow. How does each active client sign off, by email or portal or phone call or a physical signature? The answer changes from client to client and often from one relationship manager to the next. The approval path for each client has to be written down before any automation earns its keep. A tool that waits on email attachments from twelve contacts in twelve formats is still a manual tracking problem wearing a nicer label. Standardizing the submission method, even part way, is upstream work that pays back during the build and in every week after it.

More notes
Jun 2026·9 min
How facilities management companies win new maintenance contracts
A facilities company keeps fifteen buildings running and still cannot reliably add the sixteenth, because the people who deliver the service are not the ones chasing the next portfolio. Here is where facilities business development leaks.
Read →
Jun 2026·8 min
Field service quoting: the estimate that leaves days after the tech does
A tech diagnoses the repair on-site, then the quote waits days while someone prices it, and the urgent customer calls the next company. Here is where field service quoting leaks.
Read →
Jun 2026·8 min
The staffing agency that grew on referrals and then stopped growing
An agency fills every req its clients send and still cannot add a new logo, because the people who could sell are buried in the people they place. Here is where staffing business development leaks.
Read →
Jun 2026·8 min
Why commercial cleaning accounts churn in month four
An account that paid on time and never escalated cancels in one email. The misses were small and nobody tracked them, so the first warning was the last one. Here is where janitorial retention leaks.
Read →
Jun 2026·9 min
The facilities maintenance bid: priced on the schedule, bled by the call-outs
A property maintenance company bids the preventive schedule cleanly, then drowns in reactive calls nobody priced. Here is where the margin leaks before the contract is signed.
Read →
Jun 2026·9 min
Proving the clean: commercial cleaning QA before the client complains
Clients judge a cleaning vendor on the one thing they notice, not the forty things that went right. Here is where quality control breaks down and what a system catches before the client does.
Read →
Jun 2026·9 min
Night coverage: how commercial cleaners lose a site before anyone notices
Crews clean thirty buildings a night across a city. When one cleaner no-shows, the gap is invisible until the client emails at 8 a.m. Here is where coverage breaks and what holds it.
Read →
Jun 2026·9 min
The commercial cleaning pipeline: where new accounts leak before the bid
Most janitorial owners prospect in the gaps between running the business, so the pipeline leaks at follow-up. Here is where the accounts go and what holds them.
Read →
Jun 2026·8 min
Why commercial landscaping companies lose track of job costs, and what it takes to see margin per contract
Crew hours sit in the timesheet app. Material costs sit in the bookkeeping ledger. Equipment hours sit on a log in the truck. None of them connect to the contract number, so the margin story is always three months old.
Read →
Jun 2026·9 min
How to audit a commercial cleaning operation for workflow gaps
The quoting log, the payroll close, and the prospect pipeline each signal a different kind of operational drag. Here is what to look for in each.
Read →
Jun 2026·8 min
How facilities teams track open work orders across properties (and where jobs go quiet)
The request came in. The vendor got dispatched. Then nothing. Where work order tracking breaks down at ten properties, and what it takes to fix it.
Read →
Jun 2026·8 min
How janitorial operators price contracts (and where the number goes wrong)
The math closes in an afternoon. The inputs are the hard part. Here is where underbidding starts and how to make the pricing logic repeatable.
Read →
Jun 2026·8 min
Why the RFP response is already late before anyone starts writing
BD found the opportunity. The deadline is in ten days. Most of that window goes to locating the right answers and confirming they are still current, before a word gets written.
Read →
Jun 2026·9 min
The commercial cleaning bid: why it still takes three days
The walkthrough takes 45 minutes. Getting a number to the prospect takes three days. Here is where the time goes.
Read →
May 2026·11 min
How to audit a services business for automation
A practical way to find the workflow bottlenecks worth fixing before anyone starts building with AI.
Read →
Mar 2026·8 min
Why we ship two projects, not five
How we score 30 ideas down to the two that move revenue this quarter.
Read →
Feb 2026·12 min
What we hand off when we leave
A runbook your team uses without us. Here is what it covers and how we test it before we go.
Read →
Jan 2026·15 min
Six engagements, one pattern
Where $1M to $50M services businesses lose revenue, and the fix that held.
Read →