Clean-Up Requests Through a Client Portal: Absorb It or Bill It?

Classify any portal clean-up request in under a minute: absorb, bill, quote, or defer. Includes the break-even math and a response clock by severity.

CleanTrack360 Team
June 25, 202614 min readUpdated August 3, 2026

Every unscheduled clean-up request puts you between two bad outcomes. Charge for it and you look like the vendor who nickels the client over a spilled latte. Eat it every time and you fund a second unpaid route out of your own margin.

Most operators pick one of those two postures and apply it to everything that comes in. That is the actual mistake. The right answer is not a posture, it is a sorting rule that takes about thirty seconds per request.

Route every clean-up request through one portal form, then classify it within one business hour into four dispositions: absorb, bill as extra work, quote as a scope change, or defer to the next scheduled visit. The practical dividing line for most operators is about 15 minutes of on-site labor.

Below is how to set that line for your own cost structure, and which policy to run depending on the kind of operation you have.


What counts as a clean-up request and what is actually a scope change?

A clean-up request is unscheduled work asked for between service visits. Someone spilled coffee in the lobby. A vendor tracked mud through the west corridor. A conference room got left destroyed after a lunch meeting.

A scope change is the same request arriving over and over. If the tenant on the third floor asks you to break down cardboard every Tuesday, that is not a clean-up request anymore. That is a task somebody forgot to price.

The portal is what makes the difference visible. When requests live in text messages and voicemails, you cannot see the pattern. When they all land in one queue with a timestamp and a location tag, the pattern shows up inside a month.

Key Takeaway: The same request three times in 60 days is not a favor you keep doing. It is scope you have not repriced. Set that rule before you need it.

The five axes that actually decide how you handle the request

Almost every operator I talk to decides these case by case, by feel, usually while driving. That is why the answer is inconsistent across accounts and across supervisors. Five factors decide it, and only five.

  • Labor minutes: How long does the task take a trained cleaner who is already on site, including travel between floors and getting the equipment out?
  • Cause: Did the client, a tenant, or a third party create the mess, or did your crew miss it on the last visit?
  • Recurrence: How many times has this same request come from this same location in the last 60 days?
  • Resources beyond the standard kit: Does it need an extractor, a bloodborne pathogen kit, a lift, a second body, or a chemical that is not on the cart?
  • Timing against the route: Can it be handled inside a shift that is already scheduled, or does it require a callout?

Notice what is not on the list: how nice the client is, and how much you fear losing the account. Those feelings are real, but they belong in the contract negotiation, not in the disposition of a single request.

Absorb, bill, quote, or defer: the decision table

Read the request, run it down the rows, and take the column where most of the rules land. When two columns tie, the safety row wins.

Deciding axisAbsorb into the routeBill as extra work orderQuote as a scope changeDefer or decline
Labor minutesUnder your break-even, commonly around 15Roughly 15 minutes to 3 hoursOver 3 hours or repeating weeklyAny duration if it cannot be done safely today
CauseOrdinary building use, no faultClient, tenant, vendor, or event created itBuilding use pattern changed, for example new tenantDamage that belongs to a restoration contractor or the landlord
Recurrence in 60 daysFirst or second timeThird time, with a note that it is trendingThird time or more from the same locationNot applicable
Resources neededCart chemicals and tools already on siteExtractor, blower, second cleaner, specialty chemicalEquipment you would have to buy or rent monthlyCertification you do not hold, for example mold or sewage
Safety or compliance exposureNoneLow, standard PPE covers itRecurring exposure requiring a written planBloodborne pathogens, chemical spill, or unknown substance without trained responder available
Requester authorityAnyone with portal accessNamed authorized contacts onlyContract signer onlyAnyone, when the request exceeds the standing authorization
Timing vs. routeCrew is on site todayCrew is on site or a short callout is practicalNeeds to be built into the schedule permanentlyRequires after-hours access you do not have
馃挕 Tip: Put the four disposition names into the portal request record as a required field. If a supervisor closes a request without picking one, you lose the data that tells you whether an account is quietly bleeding you.

What is the break-even minute count for absorbing a request?

The 15-minute line is not a rule of thumb somebody made up. It comes out of comparing two costs: the cost of doing the work, and the cost of billing for the work.

Here is the arithmetic with clearly stated assumptions. Substitute your own numbers, because the answer moves a lot with wages and admin load.

Assumption 1: Your fully loaded cleaner cost is $22 per hour, which is $0.367 per minute. Loaded means wage plus payroll taxes, workers comp, and paid time off, not the hourly rate on the offer letter.

Assumption 2: Your coordinator costs $28 per hour loaded, which is $0.467 per minute.

Assumption 3: Processing one billable extra-work line end to end takes about 12 minutes of coordinator time: reading the request, confirming price with the client, creating the work order, verifying completion, adding it to the invoice, and answering the one email the client sends back about it.

So the admin cost of billing anything at all is 12 x $0.467, or about $5.60. Divide that by the cleaner cost per minute: $5.60 / $0.367 = about 15 minutes.

Key Takeaway: Absorb threshold in minutes = admin cost per billable line 梅 loaded labor cost per minute. Under that number, billing the client costs you more than doing the work for free.

Two things move this line. If your coordinator handles requests inside a single system where the work order and the invoice line are the same record, admin time drops and the threshold drops with it. If every extra charge triggers a phone negotiation, your real admin time is 25 minutes, not 12, and your threshold is closer to 30 minutes.

Pull your local wage input from the BLS Occupational Employment and Wage Statistics series for janitors and cleaners rather than guessing at what your market pays.

Source: U.S. Bureau of Labor Statistics, Occupational Employment and Wage Statistics, "Janitors and Cleaners, Except Maids and Housekeeping Cleaners."

How to price the requests that clear the threshold

Once you decide to bill, do not improvise the number. Use one formula and publish it in the service agreement so the portal request never becomes a negotiation.

Extra work price = (estimated labor minutes 梅 60 x billable hourly rate) + supplies at cost plus markup + callout fee if outside a scheduled shift.

Apply a one-hour minimum on anything that requires a trip. A 20-minute carpet spot that pulls a tech across town at 4 p.m. is not a 20-minute job, it is 90 minutes of somebody's evening.

For estimating labor minutes on unfamiliar tasks, ISSA publishes cleaning time standards that give defensible baselines you can adjust with your own timed observations.

Source: ISSA, "Cleaning Times" (task time standards).

How fast do you have to respond to a portal clean-up request?

Response speed is a separate decision from billing, and confusing the two is how operators end up dispatching a truck for a cosmetic issue. Set three severity tiers and publish the response clock in the agreement.

TierExamplesAcknowledge in portalWork completed by
Tier 1: safety or complianceWet floor in a traffic path, broken glass, restroom overflow, any bodily fluid15 minutes during business hoursImmediate dispatch or client-managed containment until trained responder arrives
Tier 2: visible client-facingLobby spill, conference room after an event, entrance mats after weather1 business hourSame day if a shift is scheduled, otherwise next service visit
Tier 3: cosmetic or back of houseBreak room fridge, storage area, scuffed baseboard, single stained ceiling tile1 business dayNext scheduled visit, added to the route sheet

Tier 1 needs a hard carve-out. Under the OSHA Bloodborne Pathogens Standard, 29 CFR 1910.1030, employees with occupational exposure to blood or other potentially infectious material must be covered by a written exposure control plan, training, PPE, and a hepatitis B vaccination offer.

That means a portal request reading "someone got sick in the second floor restroom" cannot be assigned to whichever cleaner is closest. Route it to a trained responder or tell the client to restrict the area until one arrives.

Source: OSHA, Bloodborne Pathogens Standard, 29 CFR 1910.1030.

What your portal intake form must capture

A bad intake form is why clean-up requests turn into three rounds of email. Every field below exists to eliminate one specific follow-up question.

Required fields on the clean-up request form

  • Building and specific location: floor, room number, or nearest landmark, not "upstairs"
  • Photo, required not optional, because the photo decides the tier and the price
  • What the substance is, if known, with an "unknown" option that automatically escalates to Tier 1
  • When it happened, so you know whether it is a fresh spill or a set stain
  • Requested by, with the name pulled from your authorized contact list
  • Access notes: is the area occupied, locked, or restricted after 5 p.m.
  • Client acknowledgment that requests over the standing authorization amount need approval
馃挕 Tip: Make the photo mandatory. Operators who require a photo on intake consistently report fewer disputes at invoicing, because the before image and the after image sit in the same record and nobody has to relitigate what the mess looked like.

The one contract clause that prevents most of the arguing

Write a standing authorization into the service agreement: "Client pre-authorizes additional work up to $150 per occurrence and $500 per month, requested through the client portal, billed at the rates in Exhibit B."

Those dollar figures are illustrative. Set yours at roughly what two hours of billable labor costs in your market. The point is that a facility manager can solve a problem at 3 p.m. without chasing a signature, and you can dispatch without wondering whether you will get paid.

Which policy fits your operation

The break-even math gives you a number. Your operating model tells you how to apply it. Pick the profile that matches you and run that policy.

Solo operator or one crew, under 5 accounts

Absorb up to 20 minutes, not 15. Your admin time is production time, so the cost of billing is higher than the formula suggests. Log every absorbed request anyway with a "$0, no charge" note. At renewal, that log is your entire case for a rate increase.

10 to 40 accounts with a dedicated coordinator

Run the 15-minute rule strictly and get the standing authorization clause into every agreement at renewal. Your risk is not the individual free spill, it is that four supervisors are each making a different call. Publish the decision table internally and audit closed requests weekly for the first two months.

One anchor account over 30 percent of your revenue

Never absorb silently. Every no-charge request gets logged as a zero-dollar line with the estimated value shown. When the account goes out to bid, the difference between you and the low bidder is a two-page report of everything you handled at no charge, with photos and dates.

Day porter and multi-shift accounts

Your threshold is not minutes, it is displacement. Absorb anything the porter can complete inside the shift without dropping a scheduled task. Bill the moment a request requires a second body, an after-hours callout, or bumps a contracted task off the sheet. Track the bumped tasks, because that is where inspection scores quietly fall.

Medical, food processing, lab, or any regulated environment

Absorb nothing. Every request goes through a trained, documented responder and gets billed at a specialty rate, even a small one. The reason is not revenue, it is the record. Regulated clients get audited, and "we did it as a courtesy so there is no paperwork" is the worst sentence you can say to a compliance officer.


Frequently asked questions

Should I still accept clean-up requests by text if I have a client portal?

Accept them, then move them. Texting a supervisor is how facility managers actually work, and refusing that will just get you cut out of the loop. The rule is that the supervisor enters the request into the portal before dispatching anyone. If it is not in the portal, it did not happen and it cannot be billed.

What do I charge for an emergency clean-up call outside scheduled hours?

Use a callout fee plus a minimum billable block, typically one to two hours, at an after-hours rate above your standard billable rate. Publish both numbers in the service agreement. The callout fee covers travel and the disruption to the person you are calling in, which is the real cost, not the 20 minutes of mopping.

Can I refuse a request submitted by a tenant employee who is not on the contract?

Yes, and you should have a script for it rather than an argument. Maintain an authorized requester list per site, keep it to three or four names, and configure the portal so other users can submit but the request routes to an authorized contact for approval. Nobody gets told no, they get told who approves it.

What if the clean-up request is for something my own crew missed?

That is rework, not extra work, and it is never billable. Close it as a defect, tie it back to the shift and the cleaner, and check whether the item is on your inspection checklist. Rework requests are the most valuable data in the queue, because a rising rework count at one site predicts a cancellation before the client ever complains.

How long should I keep photos and records of portal requests?

Keep them at least as long as your contract term plus one renewal cycle, and longer for anything involving injury risk, biohazard, or property damage. A dated before-and-after photo pair is the cheapest liability defense you will ever have, and it costs nothing to store.


Where CleanTrack360 fits

Everything above works on paper and in a shared inbox. It works faster when the request, the work order, the photo evidence, and the inspection record are the same record. CleanTrack360 gives clients a browser-based dashboard where they can see schedules, inspection reports, and service requests, so a clean-up request lands in one queue instead of three supervisors' phones. From there you can turn it into a scheduled work order, capture photo evidence through quality inspections with custom checklists and automatic scoring, and export the whole request history to CSV when it is time to justify a rate increase.

Crews work in the phone browser today, including geofenced GPS clock-in and clock-out, so there is no app install to manage when you need someone to confirm they were on site for a callout. Plans start at $99 per month for up to 5 team members, $199 for up to 20, and $249 for up to 50, priced per plan rather than per user. There is a 14-day free trial and no credit card required.

Ready to see it in action?

Start your free 14-day trial. No credit card required.