Pricing your work
How to Price Cleaning Jobs
Price a cleaning job by adding your fully-loaded labor cost, supplies with markup, a share of overhead, and a margin, then compare that total to an hourly rate for the same hours. Charge hourly for one-time or deep cleans of unknown scope, and flat-rate or per-square-foot for recurring residential visits and commercial office contracts.
Hourly vs flat-rate pricing
Hourly and flat-rate (or per-square-foot) pricing each suit different kinds of cleaning work, and most cleaning businesses run both side by side depending on the customer.
| Hourly pricing | Flat-rate / per-square-foot pricing | |
|---|---|---|
| Best for | First-time visits, deep cleans, and jobs of unknown condition | Recurring residential visits and commercial contracts once the space is known |
| Customer experience | Bill can grow if the space takes longer than expected | Price is fixed before work starts, easier to approve on a contract |
| Risk to the business | Low risk of underbidding an unusually dirty space | Risk of underbidding if the walkthrough underestimated time |
| Effort to set up | Minimal, just a rate, a minimum charge, and time tracking | Requires a supply and task list plus a documented walkthrough per property |
| Effect on margin | Margin is protected job by job as hours accrue | Margin depends on how accurately the space was scoped up front |
| Good fit for commercial contracts | Workable but harder to bid competitively against per-square-foot pricing | Standard in commercial office cleaning, priced per square foot per visit |
For a first-time clean or a deep clean where the condition of the home or office is unknown, an empty rental left dirty by the previous tenant, or a post-construction cleanup, hourly billing protects a cleaning business because nobody yet knows how long the job will actually take. For recurring work, a weekly residential visit or a nightly commercial office contract, flat-rate or per-square-foot pricing removes the customer's uncertainty about the bill and rewards an efficient crew, since the business keeps the difference when the visit goes faster than estimated. A common hybrid: price the first visit hourly or as a scoped deep clean, then convert to a flat recurring rate once the crew has timed the space directly.
Step 1: Calculate your fully-loaded hourly labor cost
Your fully-loaded labor cost is the wage you pay a cleaner plus the employer-side payroll taxes layered on top, not just the number on the paycheck. Employers owe a matching share of Social Security and Medicare tax on top of wages: 6.2% for Social Security and 1.45% for Medicare, each matched by the employee's own withholding, for a combined 12.4% and 2.9% respectively split between employer and employee. Employers also owe federal unemployment tax (FUTA) at a standard rate of 6.0% on the first $7,000 of each employee's annual wages, though most employers qualify for a state credit of up to 5.4% that lowers the effective federal rate to 0.6% when state unemployment tax has been paid in full and on time.
Worked example (fictional, rounded numbers): say you pay a cleaner an $18-per-hour wage. Add roughly 8% for the employer share of Social Security and Medicare, a small amount for FUTA and state unemployment, and a further allowance for workers' comp and liability insurance. In this example, that lands the fully-loaded labor cost near $21 to $23 per hour, noticeably above the $18 wage alone. Skipping this step is a common reason cleaning bids run under actual cost, especially on small residential jobs where the wage looks like the whole story.
Step 2: Separate billable hours from paid hours
Not every hour you pay a cleaner is an hour you can bill to a customer, so your rate has to absorb the gap. Drive time between scattered residential jobs, loading supplies, and time spent on scheduling and callbacks are all paid but not billable. If a cleaner is paid for roughly 2,000 hours a year but realistically bills only 1,400 to 1,600 of those hours to customers, given how much of the day goes to driving between homes or offices, your hourly rate needs to recover a full year of payroll cost across that smaller pool of billable hours, not spread evenly across every paid hour. Pricing against paid hours instead of billable hours is an easy way to under-recover labor cost over a full year of cleaning work.
Step 3: Allocate overhead per billable hour
Overhead is every cost that keeps a cleaning business running regardless of which job is on the schedule: a vehicle payment and fuel, equipment replacement (vacuums, mops, carts), liability insurance, bonding where customers expect it, software subscriptions, and time spent on scheduling and invoicing. Add these up for a full year, then divide by your total expected billable hours (from Step 2) to get an overhead rate per hour. Add that overhead rate on top of the fully-loaded labor rate from Step 1 before applying any margin. A cleaning business that forgets overhead and prices only labor and supplies is effectively donating the vehicle and insurance cost to every customer on the schedule.
Step 4: Price supplies with a deliberate markup, not a guess
Supplies should be marked up to cover the true cost of purchasing and carrying them, not just marked up to match the store receipt. Restocking the van between jobs, the cost of specialty products for certain surfaces, and inventory that runs out mid-route all cost time and money that a flat pass-through price does not recover. A supply list that prices standard items, all-purpose cleaner, microfiber cloths, trash liners, floor product, at a consistent marked-up rate per visit produces the same quote for the same job every time, which matters most on recurring contracts where inconsistent supply pricing quietly erodes margin.
Step 5: Apply margin, and know the difference between markup and margin
Margin is the percentage of your final selling price that is profit; markup is the percentage you add on top of cost to reach that price, and the two numbers are never the same. Worked example (fictional, rounded numbers): if a job costs $100 in labor, supplies, and overhead combined, and you want a 25% margin, you need to charge about $133, not $125, because a 25% margin means profit is 25% of the final price ($33 of $133), while a 25% markup on the same $100 cost only produces $125 in revenue and a 20% margin. Confusing the two is a common way cleaning businesses end up with thinner profit than intended even when the price list looks correct on paper.
Step 6: Build a per-square-foot rate for commercial contracts
Commercial office cleaning is typically bid per square foot rather than per hour, since facility managers compare bids on that basis and expect a predictable monthly cost. To build the rate, time a walkthrough of the actual space, count restrooms, break areas, and high-traffic zones that take disproportionately longer per square foot than open floor space, then convert that estimated time into labor cost, overhead, and margin using Steps 1 through 5, and divide by total square footage. A 6,000-square-foot office with three restrooms and a kitchen will need a higher per-square-foot rate than the same footprint of open cubicles, so never quote purely from square footage without a walkthrough.
Step 7: Set a trip or minimum charge for small jobs
A trip or minimum charge covers the fixed cost of showing up, drive time, and loading supplies, before any billable cleaning starts, and it matters more for one-off residential jobs than for recurring contracts already priced flat. Calculate it from round-trip drive time at your fully-loaded labor rate plus an allocation for vehicle cost, then decide whether to fold it into the total once the customer approves the job. Skipping a minimum charge is what makes very small jobs, a single-room touch-up, unprofitable even when the hourly or per-square-foot rate itself is priced correctly.
What cleaning workers earn
The median wage for janitors and building cleaners, the closest official occupation category to cleaning work, is a base-pay figure, not a business's bill-out rate, and it does not include the employer payroll taxes, overhead, and margin a business must add to price a job. According to the latest BLS data, the median annual wage for janitors and building cleaners is $36,840, equivalent to a median hourly wage of $17.71. That wage figure is a useful anchor for what to pay an employee, but it is only the starting input for Step 1 above, not the number to charge a customer, since it excludes payroll taxes, overhead, and profit entirely.
Pricing mistakes that cost cleaning businesses money
- Quoting the wage, not the fully-loaded cost. Charging based on what you pay a cleaner, without adding payroll taxes, overhead, and margin, guarantees the business loses money on every hour billed.
- Quoting commercial space from square footage alone. Skipping a walkthrough and pricing purely on square feet ignores restrooms, break areas, and clutter that change the actual time required.
- No minimum or trip charge. Treating a small touch-up the same as a full visit makes tiny jobs unprofitable even when the underlying rate is correct.
- Pricing against paid hours instead of billable hours. A rate built assuming every paid hour is billable will under-recover cost once drive time between homes or offices is accounted for.
- Marking up supplies inconsistently. Pricing products from memory or straight off a store receipt, with no standard markup, produces different quotes for the same job and erodes margin over a busy week.
- Confusing markup with margin. Applying a markup percentage when the target was a margin percentage, or the reverse, leaves less profit in the job than the owner intended.
- Underpricing the first visit on a recurring contract. Quoting a maintained-space rate before the first deep clean is complete leaves the crew absorbing the extra time buildup requires.
Tools that help you quote faster
A supply list and pricing structure only help if they are easy to use on site or from the office, which is why cleaning businesses build quotes inside field service software rather than in a spreadsheet or from memory. Housecall Pro ships with pricebooks built for home service trades, letting a cleaning business turn a walkthrough into an itemized quote with labor, supplies, and a trip charge as separate lines. Jobber offers a client hub where customers can review and approve an itemized quote online before the first visit, which suits a residential cleaning business that wants sign-off in writing before scheduling. FieldPulse and ServiceM8 are both built for smaller service businesses that want quoting, scheduling, and invoicing in one lightweight mobile app without the overhead of a larger platform, which fits a solo cleaner or small crew running a mix of one-time and recurring jobs. For more on structuring line items, sending quotes from the job site, and getting customers to approve and pay faster, see the estimates and quotes task page at /tasks/estimates-quotes.
Frequently asked questions
How much to charge to clean a 6000 sq ft office?
What is a fair hourly rate for a house or office cleaner?
Should I charge hourly or flat-rate for cleaning jobs?
How much should a cleaning business mark up supplies?
How do I price recurring cleaning differently from a one-time deep clean?
How do I build overhead into a cleaning quote?
What is the difference between markup and margin when pricing cleaning work?
Sources we checked
Every feature and policy on this page comes from these vendor or government pages, last checked Sep 26, 2026. See how we review.
- bls.gov — bls.gov/ooh/building-and-grounds-cleaning/janitors-and-building-cleaners.htm
- irs.gov — irs.gov/businesses/small-businesses-self-employed/understanding-employment-taxes
- irs.gov — irs.gov/taxtopics/tc751
- irs.gov — irs.gov/taxtopics/tc759
- housecallpro.com — housecallpro.com/features/
- getjobber.com — getjobber.com/features/
Cite this page
Amine from KitFinch. “How to Price Cleaning Jobs.” Kitfinch, updated Sep 26, 2026. https://kitfinch.com/guides/how-to-price-cleaning-jobs
Plain-text version for AI assistants: /guides/how-to-price-cleaning-jobs.md