Quoting

How to price a house cleaning job from your costs

MaidBench editorial · Updated October 3, 2026 · 7 min read

A cleaning quote needs more than an hourly rate multiplied by time on-site. Build the estimate around all the paid work and the costs you expect the visit to create.

There is no universal price in this guide. The figures below are fictional examples, used to show a method. Use your own costs, scope, and understanding of your local market before preparing a customer quote.

1. Define the visit before estimating time

Write down the rooms, surfaces, and tasks included. Note the property’s condition, access arrangements, stairs, pets, parking, and any first-clean or deep-clean work. Clarify which extras are excluded or separately priced. A recurring maintenance visit and an initial clean may need different time assumptions even at the same property.

Scope helps you interpret actual results later. If the first visit takes longer, you can ask whether the estimate was too optimistic, the agreed work changed, or conditions were different from the information available when you quoted.

2. Count paid person-hours

Two cleaners working for 1.5 hours produce 3 on-site person-hours. If each is also paid for 15 minutes of travel, the visit uses 3.5 paid person-hours. The crew finishes the on-site work in 1.5 elapsed hours, but labor costs apply to each person’s time.

Paid person-hours = cleaners × (on-site hours per cleaner + paid travel hours per cleaner)

Use a wage for the owner’s cleaning time too. Treating owner labor as free makes it harder to compare jobs or understand whether the business could pay someone else to do the same work. See the person-hours guide for additional examples.

3. Add the modeled costs

In this example, base pay is $25 per person-hour and additional employer costs are 15%. Loaded pay is $28.75. The visit’s 3.5 paid person-hours therefore produce a labor cost of $100.63, rounded to cents.

Entered costExample
Loaded labor, including paid travel$100.63
Supplies$8.00
Other direct costs$7.00
Allocated overhead: 3.5 hours × $4$14.00
Cost before payment fees$129.63

One simple overhead allocation divides monthly fixed costs by planned paid job hours. For example, $400 of monthly overhead across 100 planned hours produces $4 per hour. This is an allocation assumption. If the business completes fewer hours than planned, the monthly overhead may not be fully covered by the allocated amounts.

Do not add paid travel again as a second labor line if it is already included in person-hours. Likewise, costs included in your overhead budget should not also appear as direct costs without a reason.

4. Solve for a target margin

Suppose you choose a 25% target margin after the costs in this model. Suppose also that the modeled payment fee is 2.9% of the payment plus $0.30. These fee figures are examples; check your own provider and payment method.

Planning floor = ($129.63 + $0.30) ÷ (1 − 0.25 − 0.029)
Planning floor ≈ $180.21, rounded upward to cents

Rounding that floor upward to a $5 increment produces a $185 planning price. At $185, the modeled payment fee is $5.67. The profit remaining after the entered costs is $49.70, or approximately 26.9% of the price.

Adding a 25% markup would give a different result. A margin is measured against revenue; a markup is measured against cost. Review the difference before using either term in your estimates.

5. Check the quote, then check the visit

The model creates a planning price. It does not establish what a customer will pay, whether the scope is complete, or whether the work will take the expected time. Review those questions before sending the quote.

After the visit, record actual paid time and costs. Keep the original estimate unchanged so you can compare it with what happened. Review patterns across several visits before deciding whether to change the scope, route, staffing, or price.

Use the free quote calculator to change the example. The Cleaning Profit Kit adds saved estimates, actual visit costs, and customer comparisons in one workbook.